我有一个闪屏,在它消失前显示2-3秒。 我想在加载下一个活动时添加淡入淡出效果。我在Facebook黑客示例中看到了一个示例,我正在使用它。 它使用finish();如果有人点击它,那么从DashboardActivity结束那个活动就不会返回到SplashAcitivty。但是使用它并不会创建Fade in Effect,如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);
}
}
答案 0 :(得分:6)
使用处理程序:
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);