Beautiful way to showcase new features of your app.
dependencies {
implementation 'io.github.anderscheow:whatsnew:1.0.1'
}
Setup features
val features = ArrayList<Feature>().apply {
// Recommended: Use builder (Support more configurations)
this.add(Feature.Builder()
.setIconRes(R.drawable.access_point)
.setIconColor(Color.RED)
.setTitleRes(R.string.title_one)
.setTitleTextColor(Color.BLACK)
.setDescriptionRes(R.string.description_one)
.setDescriptionTextColor(Color.BLACK)
.build())
// or use constructor
this.add(Feature(R.drawable.account, Color.RED, R.string.title_two, Color.BLACK, R.string.description_two, Color.BLACK))
}
Setup and show What's New
// Only show partial configurations, please refer WhatsNew.Builder to view more configurations
WhatsNew.Builder(this)
.setTitleRes(R.string.app_name)
.setTitleColor(Color.BLACK)
.setBackgroundRes(android.R.color.white)
.setPrimaryButtonBackgroundColor(Color.RED)
.setPrimaryButtonTextColor(Color.WHITE)
.setPrimaryButtonTextRes(R.string.lets_go)
.enablePrimaryButtonAllCaps(false)
.setSecondaryButtonTextColor(Color.RED)
.setSecondaryButtonTextRes(R.string.learn_more)
.enableSecondaryButtonAllCaps(false)
.enableFadeAnimation(true)
.setFadeAnimationDuration(500L)
.setFeatureItemAnimator(FeatureItemAnimator.FADE_IN_UP)
.setFeatureItemAnimatorDuration(500L)
.setFeatures(features)
.setListener(object : WhatsNewListener {
override fun onWhatsNewShowed(whatsNew: WhatsNew) {
Log.d(TAG, "onWhatsNewShowed")
}
override fun onWhatsNewDismissed() {
Log.d(TAG, "onWhatsNewDismissed")
}
override fun onPrimaryButtonClicked(whatsNew: WhatsNew) {
Log.d(TAG, "onPrimaryButtonClicked")
}
override fun onSecondaryButtonClicked(whatsNew: WhatsNew) {
Log.d(TAG, "onSecondaryButtonClicked")
}
})
.build()
Thanks to RecyclerView Animators by wasabeef
- NONE
- SCALE_IN
- SCALE_IN_TOP
- SCALE_IN_BOTTOM
- SCALE_IN_LEFT
- SCALE_IN_RIGHT
- FADE_IN
- FADE_IN_UP
- FADE_IN_DOWN
- FADE_IN_LEFT
- FADE_IN_RIGHT
- SLIDE_IN_UP
- SLIDE_IN_DOWN
- SLIDE_IN_LEFT
- SLIDE_IN_RIGHT
- OVERSHOOT_IN_LEFT
- OVERSHOOT_IN_RIGHT
1.1.0
- Updated Gradle and Kotlin version
- Changed Android Support artifacts to AndroidX
- Removed some install dependencies from README
1.0.1
- Add support for AndroidX
1.0.0
- Introduce What's New library
Any contribution is more than welcome! You can contribute through pull requests and issues on GitHub.
What's New is released under the MIT License