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

前言

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

Github地址: 科师有约校园APP

系列文章:

  1. 手把手带你撸一个校园APP(一):项目简介
  2. 手把手带你撸一个校园APP(二):应用启动和欢迎页面
  3. 手把手带你撸一个校园APP(三):用户模块(登录注册等)
  4. 手把手带你撸一个校园APP(四):APP框架及功能设计
  5. 手把手带你撸一个校园APP(五):新闻页面中心模块
  6. 手把手带你撸一个校园APP(六):失物招领&二手交易模块
  7. 手把手带你撸一个校园APP(七):图说校园模块
  8. 手把手带你撸一个校园APP(八):校园通讯录模块
  9. 手把手带你撸一个校园APP(九):课程表模块(模拟登陆爬取教务处课程信息)
  10. 手把手带你撸一个校园APP(十):APP通用模块(更新,意见反馈等)

需求分析:

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

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

引导页面

特征

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

使用方法

添加依赖

compile 'com.stephentuso:welcome:1.4.1'

简单使用

1.首先要创建一个继承自WelcomeActivity的Activity,然后在AndroidManifest中进行注册,需要注意的是,必须使用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中已经应用上了,大家如果对效果不满意的话,还可以进行更多定制。具体用法,就要详见官方文档了哈!

你可能感兴趣的:(手把手带你撸一个校园APP(二):应用启动和欢迎页面)