Skip to content

Releases: skydoves/Balloon

1.2.5

07 Nov 15:23
8a2f0d0
Compare
Choose a tag to compare

🎉 Released a new version 1.2.5! 🎉

What's New?

  • Hided void return-type setters in the Builders for Java APIs.
  • Migrate deprecated fromHtml to HtmlCompat and move applyIconForm. (f92b4e4)
  • Change isOutsideTouchable is always true of the bodyWindow. (#93)
  • Implement isFinishing() extension and check isFinishing 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

15 Oct 14:11
b7ad30f
Compare
Choose a tag to compare

🎉 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.

overlay

1.2.3

10 Sep 10:43
7743ec8
Compare
Choose a tag to compare

🎉 Released a new version 1.2.3! 🎉

What's New?

  • Used JvmSynthetic for supporting Java APIs without using kotlin dependency.
  • Added support for clickable HTML links by exposing the movementMethod attribute of TextView in builders (#97)
  • Added internal modifiers to some public APIs.

1.2.2

02 Sep 15:23
d12380e
Compare
Choose a tag to compare

🎉 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 a TextView and set the measured with. If the width of the parent XML layout is wrapped content, and also the widths of TextViews 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

07 Aug 17:04
e99379b
Compare
Choose a tag to compare

🎉 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 to 1.2.0 stable.
  • Changed android.arch.lifecycle package to androidx.arch.lifecycle internally.
  • Fixed not working properly when setDismissWhenTouchOutside with BalloonAnimation.CIRCULAR. (#85)

1.2.0

30 Jul 11:54
d5c46ae
Compare
Choose a tag to compare

🎉 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 with 1setLifecycleOwner.
  • 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

27 Jun 08:28
Compare
Choose a tag to compare

🎉 Released a new version 1.1.9! 🎉

What's New?

  • Now setText receives CharSequence type instead of String type for supporting SpannableStringBuilder. (#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 with ArrowConstraints.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

16 Jun 11:11
baa091f
Compare
Choose a tag to compare

🎉 Released a new version 1.1.8! 🎉

What's New?

  • Option to have arrow point at (center of) anchor view (#47, #61, #58)

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 the setTextIsHtml is true, we can set text with HTML tags using TextForm.

  • 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 the fragmentLifecycleOwner.

1.1.7

17 May 16:45
d6be173
Compare
Choose a tag to compare

🎉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

13 May 14:28
1d473fd
Compare
Choose a tag to compare

🎉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 is true (#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).