我有一个启动画面,显示 2-3 秒后消失。 我想在加载下一个 Activity 时添加淡入淡出效果。我在 Facebook 黑客示例中看到了一个示例,我正在使用它。 它使用 finish();从 DashboardActivity 结束该 Activity ,如果有人点击返回它不会返回到 SplashAcitivty。但是使用它不会创建淡入效果,如 API 演示示例中所示。
public class SplashActivity extends Activity {
private long splashDelay = 3000;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
// Remove title bar
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
// Remove notification bar
/*
* this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
* WindowManager.LayoutParams.FLAG_FULLSCREEN);
*/
setContentView(R.layout.activity_splash);
TimerTask task = new TimerTask() {
@Override
public void run() {
finish();
startActivity(new Intent().setClass(SplashActivity.this,
MainActivity.class));
overridePendingTransition(R.anim.fade, R.anim.hold);
}
};
Timer timer = new Timer();
timer.schedule(task, splashDelay);
}
}
最佳答案
为此使用处理程序:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new Intent(SplashActivity.this,
MainActivity.class));
overridePendingTransition(R.anim.fade, R.anim.hold);
finish();
}
}, splashDelay);
关于Android Activity 启动画面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14005919/