Modernized and sophisticated tooltips, fully customizable with an arrow and animations for Android.
APACHE-2.0 License
Bot releases are visible (Hide)
Published by skydoves almost 3 years ago
🎈 Balloon 1.4.1
has been released! 🎈
Full Changelog: https://github.com/skydoves/Balloon/compare/1.4.0...1.4.1
Published by skydoves almost 3 years ago
🎈 Balloon 1.4.0
has been released! 🎈
Balloon
class changed as private.JvmOverloads
annotations to Highlight builder methods.JvmField
annotations to expose getters of the Ballon.Builder
on Java Side.Published by skydoves about 3 years ago
🎈 Released a new version 1.3.9
! 🎈
HEARTBEAT | SHAKE | BREATH | ROTATE |
---|---|---|---|
We can give repeated dynamic animations to Balloon when it's showing.
The animation would work differently by the position of the arrow.
BalloonHighlightAnimation.NONE
BalloonHighlightAnimation.HEARTBEAT
BalloonHighlightAnimation.SHAKE
BalloonHighlightAnimation.BREATH
BalloonHighlightAnimation.ROTATE
.setBalloonHighlightAnimation(BalloonHighlightAnimation.SHAKE)
Published by skydoves about 3 years ago
🎈 Released a new version 1.3.8
! 🎈
showAtCenter()
function. We can show up the Balloon over the anchor view align center. (#247).BalloonCenterAlign
parameter.anchor.showAtCenter(balloon, xOff = 0, yOff = 0, centerAlign = BalloonCenterAlign.Bottom)
show()
functions have been deprecated now. Use showAtCenter()
or showAsDropDown()
instead. (#247)BalloonPersistence
via balloon.clearAllPreferences()
function. (#242)BalloonPersistence
class: val balloonPersistence = BalloonPersistence.getInstance(context)
. (#242)Published by skydoves about 3 years ago
🎈 Released a new version 1.3.7! 🎈
bodyWindow
and overlayWindow
properties are accessible from the public.setIsAttachedInDecor
method related #131Thanks to @JoePaul @vitkhudenko for contributions!
Published by skydoves about 3 years ago
🎈 Released a new version 1.3.6
! 🎈
onTouchListener
option to the overlay popup (#204)Thanks, @DavidJsson @JoePaul
Published by skydoves over 3 years ago
🎈 Released a new version 1.3.5
! 🎈
🎉 Balloon has been featured on the official Google Dev library.🎉
setPaddingHorizontal
, setPaddingVertical
, setMarginHorizontal
, and setMarginVertical
functions.dismiss()
instead of the onDestroy()
on Pause lifecycle event. (#186)Published by skydoves over 3 years ago
🎉 Released a new version 1.3.4
! 🎉
minWidth
and maxWidth
functions for setting range of the balloon width size. This functionality works only with the BalloonSizeSpec.WRAP]
.isRtlSupport
function and it will be applied automatically based on the default RTL LayoutDirection by a device.IconGravity.LEFT
and IconGravity.RIGHT
are deprecated and there are new IconGravity.START
and IconGravity.END
gravities for RTL supports.getBalloonArrowView()
function for getting a view of the balloon arrow. (#180)Published by skydoves over 3 years ago
🎉 Released a new version 1.3.3
! 🎉
Published by skydoves over 3 years ago
🎉 Released a new version 1.3.2
! 🎉
VectorTextView
.androidx.lifecycle:lifecycle-compiler
apt to androidx.lifecycle:lifecycle-common-java8
dependency for faster compilation.Published by skydoves over 3 years ago
🎉 Released a new version 1.3.1
! 🎉
balloon
extension in the Fragment
will not return nullable anymore. (non-nullable, thanks @svrlopatrik)ArrowConstraints
renamed to ArrowPositionRules
.ArrowOrientationRules
. (reference)BalloonHighlightAnimation
for highlighting the balloon with animation. (thanks @svrlopatrik).setBalloonHighlightAnimation(BalloonHighlightAnimation.HEARTBEAT)
measureTextWidth()
for measuring the TextView
's exact size. It will be measured automatically.Published by skydoves almost 4 years ago
🎉 Released a new version 1.3.0
! 🎉
Balloon.Builder
.
setLifecycleOwner
will be called automatically in the internal logic. (92790dd)BalloonPersistence
.setShowTime
to setShowCounts
.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.
}
ViewBalloonLazy
internally for getting an Activity.cardview
dependency in the balloon module.Published by skydoves almost 4 years ago
🎉 Released a new version 1.2.9
! 🎉
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)
balloon
lazy extension and added new extensions.private val customListBalloon by balloon(CustomListBalloonFactory::class)
private val customListBalloon by balloon<CustomListBalloonFactory>()
Published by skydoves almost 4 years ago
🎉 Released a new version 1.2.8
! 🎉
balloon
extension for View
class via ViewBalloonLazy
.Balloon.Factory
in custom views.ColorInt
to ColorRes
for the setIconColorResource
.setIconColor
is not working properly (#130).isArrowVisible()
to isVisibleArrow()
and fixed not working properly.circularReveal
extensions are changed to the inline function.BalloonDsl
to BalloonInlineDsl
internally.Published by skydoves almost 4 years ago
🎉 Released a new version 1.2.7
! 🎉
relayShow
functionalities for receiving xOff
and yOff
. (b7c9808)Published by skydoves almost 4 years ago
🎉 Released a new version 1.2.6
! 🎉
setPaddingResource
and setMarginResource
are applied as double size. (21dee54)BuildConfig
class from the balloon module.ActivityBalloonLazy
and FragmentBalloonLazy
class as internal.Published by skydoves almost 4 years ago
🎉 Released a new version 1.2.5
! 🎉
fromHtml
to HtmlCompat
and move applyIconForm
. (f92b4e4)isFinishing()
extension and check isFinishing
an activity. (#92)Published by skydoves about 4 years ago
🎉 Released a new version 1.2.4
! 🎉
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.
Published by skydoves about 4 years ago
🎉 Released a new version 1.2.3
! 🎉
JvmSynthetic
for supporting Java APIs without using kotlin dependency. movementMethod
attribute of TextView in builders (#97)Published by skydoves about 4 years ago
🎉 Released a new version 1.2.2
! 🎉
setSpace
function and added the below methods..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)
measureTextWidth
function for measuring the exact text size in the custom layout.TextView
and set the measured with. If the width of the parent XML layout is wrapped content, and also the widths of TextView
s in the parent layout is wrapped content, this functionality will measure the width exactly.val myTextView = customProfileBalloon.getContentView().findViewById<TextView>(R.id.myTextView)
customProfileBalloon.measureTextWidth(myTextView)