前言
身為一個合格的APP,啟動頁面和歡迎頁面是必不可少的。啟動頁面在每次啟動時,可以做一些初始化之類的耗時操作,歡迎頁面僅在用戶第一次打開應(yīng)用時展示,讓用戶對應(yīng)用有一個大體的了解。
Github地址: 科師有約校園APP
系列文章:
- 手把手帶你擼一個校園APP(一):項目簡介
- 手把手帶你擼一個校園APP(二):應(yīng)用啟動和歡迎頁面
- 手把手帶你擼一個校園APP(三):用戶模塊(登錄注冊等)
- 手把手帶你擼一個校園APP(四):APP框架及功能設(shè)計
- 手把手帶你擼一個校園APP(五):新聞頁面中心模塊
- 手把手帶你擼一個校園APP(六):失物招領(lǐng)&二手交易模塊
- 手把手帶你擼一個校園APP(七):圖說校園模塊
- 手把手帶你擼一個校園APP(八):校園通訊錄模塊
- 手把手帶你擼一個校園APP(九):課程表模塊(模擬登陸爬取教務(wù)處課程信息)
- 手把手帶你擼一個校園APP(十):APP通用模塊(更新,意見反饋等)
需求分析:
- 用戶點擊圖標,啟動展示啟動頁面。
- 啟動頁面結(jié)束,如果是第一次打開應(yīng)用,展示引導頁面,否則進入登錄頁面。
- 登錄頁面和啟動頁面可以平滑切換。
其實這部分內(nèi)容本來也沒多少東西,自己寫的話,也不會耗費太多時間,但是網(wǎng)上已經(jīng)有很多非常不錯的開源框架,動畫效果什么的已經(jīng)可以滿足需求了。本篇推薦使用 welcome-android 框架。
身為一個歡迎頁面的框架,官方的介紹是一個易于使用和定制的歡迎頁面?,F(xiàn)在在github上已經(jīng)有1500多個star了,足以看出像我這樣懶的程序員還是有不少的。
本文的核心內(nèi)容也是介紹這個框架的使用了,大家英語還可以的話,可以直接去看原文。效果如下:
特征
完全可定制
RTL支持
能夠使用內(nèi)置布局或自定義片段
內(nèi)置布局支持所有屏幕尺寸和方向
使用方法
添加依賴
compile 'com.stephentuso:welcome:1.4.1'
簡單使用
1.首先要創(chuàng)建一個繼承自WelcomeActivity的Activity,然后在AndroidManifest中進行注冊,需要注意的是,必須使用WelcomeScreenTheme或其子主題:
<activity android:name=".activity.MyWelcomeActivity"
android:theme = "@style/WelcomeScreenTheme"/>
2.重寫該Activity的configuration()方法。使用WelcomeConfiguration.Builder進行設(shè)置:
@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或調(diào)用setContentView方法。
3.歡迎屏幕通過WelcomeHelper來進行展示。onSaveInstanceState需要確保只有一個歡迎屏幕的實例啟動。將以下內(nèi)容添加到要顯示歡迎屏幕的活動(可能是您的啟動器活動)
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中已經(jīng)應(yīng)用上了,大家如果對效果不滿意的話,還可以進行更多定制。具體用法,就要詳見官方文檔了哈!