android 全景播放器,Android VR Player(全景視頻播放器) [5]:簡單的歡迎界面
Android VR Player(全景視頻播放器) [5]:簡單的歡迎界面
歡迎界面
在繼續下一部分,即視頻列表實現的介紹前,分享一下簡單的歡迎界面的實現。一來是可以整合一下前面說的側滑菜單和底部導航,二來是歡迎界面用到的子線程和TimerTask等知識是后續的部分所需的,這里就先提前說一下啦。
歡迎界面雖然名曰歡迎,其實並沒有太大的“歡迎”意義,一般用戶希望的是趕緊進入主頁面。但對於應用設計開發人員來說,歡迎頁面可以用來展示應用的版本,品牌標識等,可以起到強調品牌的作用,當然也可以把廣告投放在這里。歡迎界面最大的用處是,在用戶未進入主界面前加載好一些資源,比如網絡資源等,這樣用戶進入主界面時就不用再等待資源加載,從而提升用戶體驗。需要注意的是歡迎界面和引導頁的不同,引導頁一般是安裝后首次使用時才出現,用來展示一些應用的功能用法,更新的特性等等。
簡單實現
歡迎界面的實質就是讓用戶在進入主界面前等幾秒鍾,當時有過Android開發經歷的同學都知道,一旦我們的應用失去響應5秒以上,就會出現ANR(Application Not Responding)錯誤,導致應用被系統終止。所以,不能直接用sleep去讓主線程“睡”上幾秒鍾,而是需要在子線程中去做這件事。了解了這一點,實現的思路就很清晰了:首先有個WelcomeActivity,用來展示歡迎界面;然后在WelcomeActivity中開啟一個子線程;子線程要做的任務很簡單,即是在啟動應用幾秒后,開啟MainActivity,進入主界面。下面就一步步說明如何實現這個思路。
創建WelcomeActivity
這個應該很容易,創建一個WelcomeActivity,並設計它的布局。需要注意的是,因為WelcomeActivity現在成為了應用啟動的第一個Activity,所以需要在AndriodManifest配置文件中將WelcomeActivity設置為啟動Activity。public class WelcomeActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
}
}
(WelcomeActivity.java代碼片段)
WelcomeActivity的代碼現在很簡單,只是設置了這個activity的布局,后面我們會在這個activity中添加其他的一些代碼。<?xml version="1.0" encoding="utf-8"?>
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/welcomeLayout">
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/welcome" />
(activity_welcome.xml代碼片段)
WelcomeActivity的布局很簡單,展示一張圖片,當然也可以復雜些,比如用個TextView來展示版本等。
在WelcomeActivity中創建子進程
可以用TimerTask來實現停頓幾秒后來進入主界面,當然也可以直接用Thread來創建一個子線程。
用TimerTask:Timer mTimer = new Timer();
TimerTask mTimerTask = new TimerTask() {
@Override
public void run() {
//在run方法中跳轉到mainActivity
}
};
mTimer.schedule(mTimerTask,5000);
用Thread:Thread startThread =new Thread(){
public void run(){
try{
sleep(5000);
}catch(Exception e){
e.printStackTrace();
}
finally {
//在finally中跳轉到MainActivity
}
}
};
startThread.start();
前面說過歡迎界面的最大用處是提前加載好一些資源,提升用戶的使用體驗,這部分的工作就可以通過在WelcomeActivity中創建的子進程中去完成。
進入MainActivity
進入MainActivity涉及到Activity之間的跳轉,一般的寫法為:Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);
startActivity(intent);
finish();
我們先構建一個意圖,這個“意圖”用WelcomeActivity.this作為上下文,用MainActivity.class 作為目標Activity。很明顯我們的“意圖”是用WelcomeActivity.this作為上下文來啟動MainActivity。這樣的意圖是顯式意圖;另外一種方式是隱式意圖,這里不再說明。startActivity函數根據指定的意圖來啟動一個Activity,finish()函數表示結束當前的Activity,即WelcomeActivity。針對一般的Activity界面跳轉,也可以把上面的這段代碼封裝一下,public static void actionStart(Context context, String arg){
Intent intent = new Intent(context,MainActivity.class);
intent.putExtra("arg",arg);
context.startActivity(intent);
}
把這個靜態方法提供給其他類來使用,這樣做會比較規范,特別是需要在類和類之間傳遞一些參數時就顯得很實用了(看了第一行代碼后學到的)。比如在WelcomeActivity中你可以用這樣的方式來啟動MainActivityMainActivity.actionStart(WelcomeActivity.this,"hello main activity");
我們再為這個這個歡迎界面添加一點動畫效果AlphaAnimation welcomeAnimation = new AlphaAnimation(1.0f,0.1f);
welcomeAnimation.setDuration(5000);
welcomeLayout.setAnimation(welcomeAnimation);
這個動畫實現一種漸淡的效果。
編輯AndriodManifest
最后別忘了修改AndriodManifest配置文件,首先注冊我們創建的WelcomeActivity,然后讓它成為啟動Activity。
運行調試
調試運行,暫時沒有太大的問題,上方的ActionBar為了美觀可以考慮去掉。
整合
現在可以將前面的側滑菜單以及底部導航部分整合到一起,再加上WelcomeActivity,就算是一個半成品的界面設計了。
測試源碼
Reference
總結
以上是生活随笔為你收集整理的android 全景播放器,Android VR Player(全景視頻播放器) [5]:簡單的歡迎界面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Arcgis 10.3 与 ArcGIS
- 下一篇: [ENVI] 转移矩阵