恩,今天的小岛天气不太好,淅淅沥沥下起来了雨,不知道是不是因为前两天520,521发誓的人太多了……哈哈……
平常做的Android项目中经常会用到引导页面,虽然显示的次数并不多,但是却是用户对App的第一印象,能否做好App引导页面,很大程度上决定着这个App的逼格高低,从github上发现了一个很好用的开源项目,可惜没找到对应的翻译版,只好自己简单写一下。大家如果英语还可以的话,可以直接去看原文。welcome-android毕竟我的英语也不咋的……
Welcome
效果
恩,先看下效果。个人很喜欢这种风格哦。
使用方法
添加依赖
compile 'com.stephentuso:welcome:1.4.1'
如果你要使用proguard的话,你还得加上这些规则
-keepclassmembers class * extends com.stephentuso.welcome.WelcomeActivity {
public static java.lang.String welcomeKey();
}
最基础的用法
- 首先要创建一个欢迎界面,继承WelcomeActivity,然后在AndroidManifest中进行注册,需要注意的是,必须使用WelcomeScreenTheme的子主题:
<activity android:name=".activity.MyWelcomeActivity"
android:theme = "@style/WelcomeScreenTheme"/>
- 重写Activity的configuration()方法。使用WelcomeConfiguration.Builder进行设置:
@Override
protected WelcomeConfiguration configuration() {
return new WelcomeConfiguration.Builder(this)
.defaultBackgroundColor(R.color.background)
.page(new TitlePage(R.drawable.logo,
"Title")
)
.page(new BasicPage(R.drawable.image,
"Header",
"More text.")
.background(R.color.red_background)
)
.page(new BasicPage(R.drawable.image,
"Lorem ipsum",
"dolor sit amet.")
)
.swipeToDismiss(true)
.build();
}
不需要重写onCreate或调用setContentView方法。
3.欢迎屏幕通过WelcomeHelper来进行展示。onSaveInstanceState需要确保只有一个欢迎屏幕的实例启动。将以下内容添加到要显示欢迎屏幕的活动(可能是您的启动器活动)
WelcomeHelper welcomeScreen;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
welcomeScreen = new WelcomeHelper(this, MyWelcomeActivity.class);
welcomeScreen.show(savedInstanceState);
...
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
welcomeScreen.onSaveInstanceState(outState);
}
如果您有导航栏覆盖的按钮/指示器的问题,请使用.SolidNavigation欢迎屏幕主题之一。
例如,要强制显示欢迎画面,要让用户在按下按钮时再次查看,请创建WelcomeHelper如上所示并调用.forceShow()。