我想为我希望制作的应用创建一个启动画面。我的第一个解决方案是显示一个新的布局几秒钟,然后显示一个新的布局,如下所示:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.logo)
android.os.SystemClock.sleep(5000);
setContentView(R.layout.activity_main);
}
但问题是它显示白屏5秒然后进入我的主屏幕。我认为我可以通过创建一个新的方法或类来解决这个问题,并从那里改变布局,但是使用一个方法什么都没做,只是创建一个类被证明更难,因为我很确定我必须使用AsyncTask。我觉得有一个我不了解的非常简单的解决方案。 提前致谢, 施穆克先生
答案 0 :(得分:0)
您需要为启动画面创建另一个活动
示例:强>
public class SplashScreen extends Activity {
// Splash screen timer
private static int SPLASH_TIME_OUT = 3000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// This method will be executed once the timer is over
// Start your app main activity
Intent i = new Intent(SplashScreen.this, MainActivity.class);
startActivity(i);
// close this activity
finish();
}
}, SPLASH_TIME_OUT);
}
}
Here就是完整的例子
希望有所帮助