Skip to content

1.0.3

Compare
Choose a tag to compare
@skydoves skydoves released this 15 Aug 15:26
a0d7560

Released version 1.0.3.

Implemented

  • Balloon.Factory abstract class for creating Balloon instance using lazy delegate.
  • balloon lazy delegate extension on ComponentActivity, Fragment.

Now it is possible to create a balloon instance using balloon keyword.

Before
CustomActivity.kt

class CustomActivity : AppCompatActivity() {
  private val profileBalloon by lazy { BalloonUtils.getProfileBalloon(this, this) }

  // ...
}

After
CustomActivity.kt

class CustomActivity : AppCompatActivity() {
  private val profileBalloon by balloon(ProfileBalloonFactory::class)

  // ...
}

ProfileBalloonFactory.kt

class ProfileBalloonFactory : Balloon.Factory() {

  override fun create(context: Context, lifecycle: LifecycleOwner): Balloon {
    return createBalloon(context) {
      setLayout(R.layout.layout_custom_profile)
      setArrowSize(10)
      setArrowOrientation(ArrowOrientation.TOP)
      setArrowPosition(0.5f)
      setWidthRatio(0.55f)
      setHeight(250)
      setCornerRadius(4f)
      setBackgroundColor(ContextCompat.getColor(context, R.color.background900))
      setBalloonAnimation(BalloonAnimation.CIRCULAR)
      setLifecycleOwner(lifecycle)
    }
  }
}