WhatsNew
项目地址: https://github.com/TonnyL/Wha...
当用户更新 App 后, WhatsNew 会自动展示一条简短的更新日志. 灵感来自 WhatsNew.
下载
Gradle
- 将 JitPack 仓库添加到你的根 build.gradle 文件中:
repositories {
maven { url "https://jitpack.io" }
}
- 将下面的代码添加至 module 中的 build.gradle 文件中:
dependencies {
implementation 'io.github.tonnyl:whatsnew:x.y.z'
}
Maven
<dependency>
<groupId>io.github.tonnyl</groupId>
<artifactId>whatsnew</artifactId>
<version>x.y.z</version>
<type>pom</type>
</dependency>
用法
基础
Kotlin:
WhatsNew.newInstance(
WhatsNewItem("Nice Icons", "Completely customize colors, texts and icons.", R.drawable.ic_heart),
WhatsNewItem("Such Easy", "Setting this up only takes 2 lines of code, impressive you say?", R.drawable.ic_thumb_up),
WhatsNewItem("Very Sleep", "It helps you get more sleep by writing less code.", R.drawable.ic_satisfied_face),
WhatsNewItem("Text Only", "No icons? Just go with plain text.")
).presentAutomatically(this@MainActivity)
或者是 DSL 风格的代码:
val whatsnew = whatsNew {
item {
title = "Nice Icons"
content = "Completely customize colors, texts and icons."
imageRes = R.drawable.ic_heart
}
item {
title = "Such Easy"
content = "Setting this up only takes 2 lines of code, impressive you say?"
imageRes = R.drawable.ic_thumb_up
}
}
whatsnew.presentAutomatically(this)
Java:
WhatsNew.newInstance(
new WhatsNewItem("Nice Icons", "Completely customize colors, texts and icons.", R.drawable.ic_heart),
new WhatsNewItem("Such Easy", "Setting this up only takes 2 lines of code, impressive you say?", R.drawable.ic_thumb_up),
new WhatsNewItem("Very Sleep", "It helps you get more sleep by writing less code.", R.drawable.ic_satisfied_face),
new WhatsNewItem("Text Only", "No icons? Just go with plain text.")
).presentAutomatically(AnotherActivity.this);
定制
Kotlin:
val whatsnew = WhatsNew.newInstance(
WhatsNewItem("Nice Icons", "Completely customize colors, texts and icons.", R.drawable.ic_heart),
WhatsNewItem("Such Easy", "Setting this up only takes 2 lines of code, impressive you say?", R.drawable.ic_thumb_up),
WhatsNewItem("Very Sleep", "It helps you get more sleep by writing less code.", R.drawable.ic_satisfied_face),
WhatsNewItem("Text Only", "No icons? Just go with plain text."))
with(whatsnew) {
presentationOption = PresentationOption.DEBUG
titleColor = ContextCompat.getColor(this@MainActivity, R.color.colorAccent)
titleText = "What's Up"
buttonText = "Got it!"
buttonBackground = ContextCompat.getColor(this@MainActivity, R.color.colorPrimaryDark)
buttonTextColor = ContextCompat.getColor(this@MainActivity, R.color.colorAccent)
itemContentColor = Color.parseColor("#808080")
itemTitleColor = ContextCompat.getColor(this@MainActivity, R.color.colorAccent)
}
whatsnew.presentAutomatically(this@MainActivity)
Java:
WhatsNew whatsNew = WhatsNew.newInstance(
new WhatsNewItem("Nice Icons", "Completely customize colors, texts and icons.", R.drawable.ic_heart),
new WhatsNewItem("Such Easy", "Setting this up only takes 2 lines of code, impressive you say?", R.drawable.ic_thumb_up),
new WhatsNewItem("Very Sleep", "It helps you get more sleep by writing less code.", R.drawable.ic_satisfied_face),
new WhatsNewItem("Text Only", "No icons? Just go with plain text."));
whatsNew.setPresentationOption(PresentationOption.DEBUG);
whatsNew.setTitleColor(ContextCompat.getColor(this, R.color.colorAccent));
whatsNew.setTitleText("What's Up");
whatsNew.setButtonText("Got it!");
whatsNew.setButtonBackground(ContextCompat.getColor(this, R.color.colorPrimaryDark));
whatsNew.setButtonTextColor(ContextCompat.getColor(this, R.color.colorAccent));
whatsNew.setItemTitleColor(ContextCompat.getColor(this, R.color.colorAccent));
whatsNew.setItemContentColor(Color.parseColor("#808080"));
whatsNew.presentAutomatically(AnotherActivity.this);
致谢
许可
WhatsNew 采用 MIT 许可证.