手把手带你撸一个校园APP(二):应用启动和欢迎页面

身为一个合格的APP,启动页面和欢迎页面是必不可少的。启动页面在每次启动时,可以做一些初始化之类的耗时操作,欢迎页面仅在用户第一次打开应用时展示,让用户对应用有一个大体的了解。

需求分析:

  1. 用户点击图标,启动展示启动页面。
  2. 启动页面结束,如果是第一次打开应用,展示引导页面,否则进入登录页面。
  3. 登录页面和启动页面可以平滑切换。

其实这部分内容本来也没多少东西,自己写的话,也不会耗费太多时间,但是网上已经有很多非常不错的开源框架,动画效果什么的已经可以满足需求了。本篇推荐使用 welcome-android 框架。
身为一个欢迎页面的框架,官方的介绍是一个易于使用和定制的欢迎页面。现在在github上已经有1500多个star了,足以看出像我这样懒的程序员还是有不少的。
本文的核心内容也是介绍这个框架的使用了,大家英语还可以的话,可以直接去看原文。效果如下:
引导页面

特征

完全可定制
RTL支持
能够使用内置布局或自定义片段
内置布局支持所有屏幕尺寸和方向

使用方法

添加依赖

compile 'com.stephentuso:welcome:1.4.1'

简单使用

1.首先要创建一个继承自WelcomeActivity的Activity,然后在AndroidManifest中进行注册,需要注意的是,必须使用WelcomeScreenTheme或其子主题:

<activity android:name=".activity.MyWelcomeActivity"
          android:theme = "@style/WelcomeScreenTheme"/>

2.重写该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);
}

至此,该框架在我们的校园APP中已经应用上了,大家如果对效果不满意的话,还可以进行更多定制。具体用法,就要详见官方文档了哈!

发布了70 篇原创文章 · 获赞 176 · 访问量 31万+

猜你喜欢

转载自blog.csdn.net/zheng_weichao/article/details/81456617