Android活动启动画面

时间:2012-12-22 19:33:33

标签: android android-activity

我有一个闪屏,在它消失前显示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);

    }

}

1 个答案:

答案 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);