Skip to content

Releases: skydoves/Balloon

1.3.1

28 Jan 13:19
f065393
Compare
Choose a tag to compare

🎉 Released a new version 1.3.1! 🎉

What's New?

  • Fixed: Overlay does not position correctly in bottom sheet containers (#141)
  • Changed: balloon extension in the Fragment will not return nullable anymore. (non-nullable, thanks @svrlopatrik)
  • Rename: ArrowConstraints renamed to ArrowPositionRules.
  • Added: ArrowOrientationRules. (reference)
  • Added: BalloonHighlightAnimation for highlighting the balloon with animation. (thanks @svrlopatrik)
    We can set the highlight animation like the below.
.setBalloonHighlightAnimation(BalloonHighlightAnimation.HEARTBEAT)
  • Added: Balloon's setter functions with dimension resource parameter. (c9a900c, thanks @svrlopatrik)
  • Fixed: Shadow gets cut at the bottom of the tooltip (#150)
  • Fixed: Fatal Exception: java.lang.IllegalStateException (#149)
  • Fixed: Balloon does not adapt to the height of a custom View (#148).
  • Changed: Now we don't need to call the measureTextWidth() for measuring the TextView's exact size. It will be measured automatically.
  • Fixed: Option to switch arrow orientation based on the tooltip position (#122, #147)
  • Fixed: Arrow does not show elevation (#76)

1.3.0

14 Jan 13:21
ac86291
Compare
Choose a tag to compare

🎉 Released a new version 1.3.0! 🎉

What's New?

  • Added new methods for the Balloon.Builder.
    • setSize(int width, int height)
    • setSizeResource(int width dimension resource, height dimension resource)
    • setIconWidth(int width), setIconHeight(int width)
  • Now the setLifecycleOwner will be called automatically in the internal logic. (92790dd)
  • Added and removed some methods related to the Persistence.
    • Removed unused methods in the BalloonPersistence.
    • Renamed setShowTime to setShowCounts.
    • Added a new method for the Balloon.Builder, runIfReachedShowCounts. The argument lambda will be invoked after the preference showing counts is reached the goal.
balloon.runIfReachedShowCounts {
 // do something after reached to show counts.
}
  • Refactored ViewBalloonLazy internally for getting an Activity.
  • Removed the cardview dependency in the balloon module.
  • Refactored internal balloon layout structures.
  • There is an unintended space between the arrow and the message box. (#139)

1.2.9

25 Dec 06:42
9d4529d
Compare
Choose a tag to compare

🎉 Released a new version 1.2.9! 🎉

What's New?

  • Fixed a balloon popup's shadow getting clipped (#134)

Added a BalloonSizeSpec (#135)

A specification interface for determining sizes of the Balloon materials.
We can wrap some materials depending on their size of content using this interface.

.setWidth(BalloonSizeSpec.WRAP)
.setHeight(BalloonSizeSpec.WRAP)
.setArrowSize(BalloonSizeSpec.WRAP)

Deprecated previous balloon lazy extension and added new extensions.

Previous (Deprecated)
private val customListBalloon by balloon(CustomListBalloonFactory::class)
After
private val customListBalloon by balloon<CustomListBalloonFactory>()

1.2.8

13 Dec 07:13
d9d4304
Compare
Choose a tag to compare

🎉 Released a new version 1.2.8! 🎉

What's New?

  • Added balloon extension for View class via ViewBalloonLazy.
    Now we can initialize the Balloon lazily using the Balloon.Factory in custom views.
  • Fixed wrong annotations ColorInt to ColorRes for the setIconColorResource.
  • Fixed setIconColor is not working properly (#130).
  • Renamed isArrowVisible() to isVisibleArrow() and fixed not working properly.
  • The circularReveal extensions are changed to the inline function.
  • Renamed BalloonDsl to BalloonInlineDsl internally.

1.2.7

01 Dec 16:32
16dc2a3
Compare
Choose a tag to compare

🎉 Released a new version 1.2.7! 🎉

What's New?

  • Fixed: Arrow not showing if the parent of an anchor is rtl. (#125)
  • Fixed: Arrow is hidden behind Balloon If fitsSystemWindows` is true in theme styles. (#123)
  • Changed previous anim, drawable, and styles resources convention. (08f9723)
  • Changed previous layout and drawable resources naming convention. (30917cf)
  • Refactor show and relayShow functionalities for receiving xOff and yOff. (b7c9808)

1.2.6

24 Nov 16:03
8e06782
Compare
Choose a tag to compare

🎉 Released a new version 1.2.6! 🎉

What's New?

  • Fix setPaddingResource and setMarginResource are applied as double size. (21dee54)
  • Prevent generating the BuildConfig class from the balloon module.
  • Changed visibility of the ActivityBalloonLazy and FragmentBalloonLazy class as internal.
  • Internal refactorings.

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.