1. 程式人生 > >Android歡迎頁面閃屏解決方法

Android歡迎頁面閃屏解決方法

前段時間,在開發專案時發現開啟歡迎頁面會閃一下黑色,再顯示歡迎頁面。我的主題背景就是黑色的,估計是主題的問題。
下面做了個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>

這是解決後的效果圖:
這裡寫圖片描述