Android歡迎頁面閃屏解決方法
阿新 • • 發佈:2019-02-09
前段時間,在開發專案時發現開啟歡迎頁面會閃一下黑色,再顯示歡迎頁面。我的主題背景就是黑色的,估計是主題的問題。
下面做了個demo,是有閃屏的歡迎頁面:
下面是WelcomeActivity的程式碼:
/**
* 歡迎頁面
*
* @author chenjunxu
* @date 2016/6/8
*/
public class WelcomeActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
//去掉標題欄 this.supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
//設定全屏this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_welcome);
handleWelcome();
}
/**
* 處理歡迎頁面
*/
private void handleWelcome() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//開啟主頁並關閉歡迎頁面
Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);
startActivity(intent);
WelcomeActivity.this .finish();
}
}, 1500);
}
}
- 需要注意的是去掉標題欄的程式碼。如果是繼承Activity,則
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
- 如果是繼承ActionBarActivity(已過時)或者AppCompatActivity ,則
this.supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
說回正題,解決閃屏只需要設定一個透明的Theme,在styles.xml新增如下程式碼,問題就可以解決了。這樣,使用者體驗也好了。
<style name="WelcomeTheme" parent="AppTheme">
<item name="android:windowIsTranslucent">true</item>
</style>
這是解決後的效果圖: