Releases: skydoves/Balloon
1.2.5
🎉 Released a new version 1.2.5
! 🎉
What's New?
- Hided void return-type setters in the Builders for Java APIs.
- Migrate deprecated
fromHtml
toHtmlCompat
and moveapplyIconForm
. (f92b4e4) - Change isOutsideTouchable is always true of the bodyWindow. (#93)
- Implement
isFinishing()
extension and checkisFinishing
an activity. (#92) - Refactor onDestroy and onPause functions by lifecycle events to dismiss. (#92)
- Updated gradle build tool version to 4.1.0 and wrapper version to 6.6.1 internally.
1.2.4
🎉 Released a new version 1.2.4
! 🎉
What's New?
- Added an overlay window for highlighting an anchor view.
We can show an overlay window over the whole screen except an anchor view.
.setIsVisibleOverlay(true) // sets the visibility of the overlay for highlighting an anchor.
.setOverlayColorResource(R.color.overlay) // background color of the overlay using a color resource.
.setOverlayPadding(6f) // sets a padding value of the overlay shape internally.
.setBalloonOverlayAnimation(BalloonOverlayAnimation.FADE) // default is fade.
We can change the shape of the highlighting using .setOverlayShape.
.setOverlayShape(BalloonOverlayOval) // default shape
.setOverlayShape(BalloonOverlayRect)
.setOverlayShape(BalloonOverlayCircle(radius = 36f))
.setOverlayShape(BalloonOverlayRoundRect(12f, 12f))
And we can set the specific position of the overlay shape using the below method.
.setOverlayPosition(Point(x, y)) // sets a specific position of the overlay shape.
1.2.3
1.2.2
🎉 Released a new version 1.2.2
! 🎉
What's New?
- Fixed - Setting larger arrow size causes text to be clipped (#89)
- Support vector drawable for customized arrow drawable.
- Removed
setSpace
function and added the below methods.
If the location of the balloon according to the anchor is located at the boundaries on the screen,
the balloon will be stick to the end of the screen. In that case, we can resolve by giving margins to the balloon.
.setMargin(12) // sets the margin on the balloon all directions.
.setMarginLeft(14) // sets the left margin on the balloon.
.setMarginRight(14) // sets the right margin on the balloon.
.setMarginTop(14)
.setMarginBottom(14)
- Added
measureTextWidth
function for measuring the exact text size in the custom layout.
measures the width of aTextView
and set the measured with. If the width of the parent XML layout is wrapped content, and also the widths ofTextView
s in the parent layout is wrapped content, this functionality will measure the width exactly.
We can use this method below way.
val myTextView = customProfileBalloon.getContentView().findViewById<TextView>(R.id.myTextView)
customProfileBalloon.measureTextWidth(myTextView)
- Changed internal values to constant definitions.
- Updated kotlin version to 1.4.0 stable and used single method abstract conversions internally.
- Updated to compile SDK version to 30 internally.
1.2.1
🎉 Released a new version 1.2.1
! 🎉
What's New?
- Added
update(anchor: View)
,update(anchor: View, xOff: Int, yOff: Int)
functionalities.
Updating popup and arrow position of the popup based on a new target anchor view with additional x-off and y-off. (#68) - Updated
appcompat
version to1.2.0
stable. - Changed
android.arch.lifecycle
package toandroidx.arch.lifecycle
internally. - Fixed not working properly when
setDismissWhenTouchOutside
withBalloonAnimation.CIRCULAR
. (#85)
1.2.0
🎉 Released a new version 1.2.0
! 🎉
What's New?
- Arrow not placing the first time at the right position (#74)
- Added a
setDismissWhenLifecycleOnPause
functionality. (#77)
The balloon popup will be dismissed when the lifecycle owner is on pause status. This method must be work used with1setLifecycleOwner
. - Added
setIconGravity(value: IconGravity)
functionality for deciding gravity of the icon. - Added
OnBalloonInitializedListener
for listening initialized balloon content. (when balloon popup is shown)
1.1.9
🎉 Released a new version 1.1.9
! 🎉
What's New?
- Now
setText
receivesCharSequence
type instead ofString
type for supportingSpannableStringBuilder
. (#70) - Added set arrow padding functionalities for making different arrow size of width and height. (#64)
The width/height size of the arrow must be the same internally, so we can set different width and height size of the arrow using these functions.
setArrowLeftPadding(@Dp value: Int
setArrowRightPadding(@Dp value: Int)
setArrowTopPadding(@Dp value: Int)
setArrowBottomPadding(@Dp value: Int)
- Added
setTextGravity
functionality for aligning text. (#65) - Added
setArrowAlignAnchorPadding
/setArrowAlignAnchorPaddingRatio
functionalities for giving padding from the end of position when we using withArrowConstraints.ALIGN_ANCHOR
. (#67) - Added additional dimension resource type functionalities as a parameter from previous existing functions that receive a parameter as a Dp size.
setWidthResource(@DimenRes value: Int)
setHeightResource(@DimenRes value: Int)
setPaddingResource(@DimenRes value: Int)
setSpaceResource(@DimenRes value: Int)
setArrowSizeResource(@DimenRes value: Int)
setCornerRadiusResource(@DimenRes value: Int)
setIconSizeResource(@DimenRes value: Int)
setIconSpaceResource(@DimenRes value: Int)
setElevationResource(@DimenRes value: Int)
1.1.8
🎉 Released a new version 1.1.8
! 🎉
What's New?
We can now determine the constraints of the arrow positioning using the ArrowConstraints
.
The default constraint is still ALIGN_BALLOON
, we can change the ArrowConstraints
using the
setArrowConstraints
method.
// Aligning arrow based on the anchor view.
// if an arrowPosition is 0.5, the arrow will be positioned center of the anchor view.
.setArrowConstraints(ArrowConstraints.ALIGN_ANCHOR)
// Aligning arrow based on the balloon popup.
// if an arrowPosition is 0.5, the arrow will be positioned center of the balloon popup.
.setArrowConstraints(ArrowConstraints.ALIGN_BALLOON) // default
-
Make
setDismissWhenTouchOutside
option makes focusable false (#53) -
Add support for setting text with HTML (#54)
If thesetTextIsHtml
is true, we can set text with HTML tags usingTextForm
. -
Setter for custom layout view instead of resource (#59)
Now we can set a layout as an instance of a view dynamically, not from resource layout. -
FragmentBalloonLazy uses
viewLifecycleOwner
instead of thefragmentLifecycleOwner
.
1.1.7
🎉Released a new version 1.1.7!🎉
What's New?
- Fixed circular revealed animation not working properly.
- Added
setCircularDuration
functionality for changing the duration of circular revealed/unrevealed animation. - Added
lifecycle-common-java8
dependency for processing lifecycle annotations. - Shadow not displaying.
setElevation
not working (#35) - Text/images cut off on sides (#42, #50)
1.1.6
🎉Released a new version 1.1.6!🎉
What's New?
- Used ViewBinding instead of Kotlin synthetic for increasing the performance of the inflating views.
- Setting arrow LEFT messes view for custom layouts (#48)
- Arrow not it the right place on Android 23 (#45)
- ClassNotFoundException on App StartUp (#37)
- Added
setFocusable
attribute and the default value istrue
(#49)
setFocusable
Before the balloon can not dismiss automatically when pressed the back button, and we can touchable other views and balloons when a balloon popup is already showing.
From this release, the balloon popup is one target base by default, so if we press the back button, the balloon popup will be dismissed (we don't need to use OnBalloonOutsideTouchListener for dismissing), and it will be dismissed automatically if we touch outside of the balloon popup.
We can control these functionalities using the setFocusable
method (like before version).