我正在开发一个应用程序。在这个应用程序的开头,一个活动将显示2秒钟,然后是一个以主要活动开始的应用程序。 这就是我试图实现这一目标的方法:
activity_main.java文件:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
Intent i = new Intent(MainActivity.this,open.class);
startActivity(i);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
android.app.ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#A6250F")));
bar.setSubtitle(R.string.title_sub);
}
}
open.java文件
public class open extends Activity {
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.open);
android.app.ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#A6250F")));
}
protected void onStart(){
super.onStart();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
finish();
}
}
open.java文件应该在应用程序开头显示2秒钟,然后执行将从activity_main.java继续
但是会发生一个空白屏幕显示一秒钟,然后显示主要活动。需要帮助
答案 0 :(得分:0)
您应该重新设计流程,以便:
open是首先创建的Activity,加载MainActivity后2秒。
public class open extends Activity {
private Activity mActivity;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.open);
android.app.ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#A6250F")));
mActivity = this;
Handler handler = new Handler();
Runnable r = new Runnable() {
public void run() {
Intent i = new Intent(mActiviy, MainActivity.class);
startActivity(i);
}
}
handler.postDelayed(r, 2000);
}
}
最后一件事是确保您在Manifest中交换活动,使您的应用程序以open
活动开始