2

我有一个闪屏,它会在消失之前显示 2-3 秒。我想在加载下一个活动时添加淡入效果。我在 Facebook 黑客示例中看到了一个示例,我正在使用它。它使用了一个finish(); 如果有人单击返回,则从 DashboardActivity 结束该活动,它不会返回到 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);

    }

}
4

1 回答 1

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);
于 2012-12-22T21:11:21.613 回答