解决欢迎页白屏问题

前言

之前录比赛视频的时候,发现应用点开后会白屏一段时间才会出现导航页,总觉得看着特别不舒服。虽然这是一个小问题,而且也特别容易解决。可是我觉得这也不应该被忽略~

一般写法

ublic class WelcomeActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_welcome);
    Handler handler = new Handler();
    //当计时结束,跳转至主界面
    handler.postDelayed(new Runnable() {
      @Override
      public void run() {
        Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);
        startActivity(intent);
        WelcomeActivity.this.finish();
      }
    }, 3000);
  }
}

然后在AndroidManifest.xml里声明启动页。
可是酱紫,activity在执行setContentView()方法后才会显示布局,所以在setContentView()方法前面不要放耗时的操作或者是 requestWindowFeature(Window.FEATURE_NO_TITLE);。

解决方法

Activity

public class FirstActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_first);
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                    startActivity(new Intent(FirstActivity.this, MainActivity.class));
                finish();
            }
        }, 1000);
    }
}

写好Activity的跳转后,到values中的styles.xml中添加一个主题

    

最后到AndroidManifest.xml中修改这个Activity的主题并设置成启动页


        <activity
            android:name=".activity.FirstActivity"
            android:theme="@style/ThemeSplash">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            intent-filter>
        activity>

好啦~最后~么么哒(づ ̄ 3 ̄)づ

你可能感兴趣的:(解决欢迎页白屏问题)