避免黑色閃屏有2種方法,分别為:
1.為 Theme 設定背景圖;
給人程式啟動快的感覺,界面先顯示背景圖,然後再重新整理其他界面控件,重新整理不同步。
@drawable/splash_bg
2.為 Theme 設定透明屬性。
給人程式啟動慢的感覺,界面會一次性刷出來,重新整理同步。
true
上面的2種 Theme 中,為 Theme 設定背景圖後程式在啟動的時候,會首先顯示這張圖,避免發生黑屏;為 Theme 設定透明屬性,程式啟動後不會黑屏而是透明,等到界面初始化完成後才一次性顯示出來。下面是
這樣設定存在的問題:
原先在配置了activity的切換動畫效果,設定完android:windowIsTranslucent=true之後切換動畫失效了。
解決方案:
@style/Animation.Activity.Translucent.Style
@android:color/transparent
true
@anim/base_slide_right_in
@anim/base_stay_orig
@anim/base_stay_orig
@anim/base_slide_right_out
@anim/base_slide_right_in
@anim/base_stay_orig
@anim/base_stay_orig
@anim/base_slide_right_out
@anim/base_slide_right_in
@anim/base_stay_orig
@anim/base_stay_orig
@anim/base_slide_right_out
@anim/base_slide_right_in
@anim/base_slide_right_out
配置style繼承的parent為:
@anim/base_slide_right_in
@anim/base_slide_right_out
然後讓apptheme的
android:windowAnimationStyle為上面的style
@style/Animation.Activity.Translucent.Style
@android:color/transparent
true
如果想在所有的activity切換時候使用該theme,可以配置application,也可以單個單個配置在activity裡面。
當然首頁退出的時候可以單獨配置MainActivity的退出動畫和進入動畫
@anim/slide_right_out
MainActivity的退出和進入動畫可以引用系統提供的,但是好像在style裡面配置引用不了有些系統的anim,
在檔案夾sdk\platforms\android-20\data\res下面,activity_open_enter.xml,activity_close_exit.xml可以直接拷貝到項目中,稍做修改即可。單獨寫一個進入或者退出,然後其它預設。