Android -- 启动另外一个Activity的方式(2s自动启动)
1. 使用Handler 并且可以设置进入和退出的动画效果
Class < ? > activityClass;
Class [ ] paramTypes =
{
Integer.TYPE , Integer.TYPE
};
Method overrideAnimation = null;
@ Override
public void setView ( ) {
setContentView ( R.layout.activity_splash_fade_main );
}
@ Override
public void initView ( ) {
try {
activityClass = Class.forName ( "android.app.Activity" );
overrideAnimation = activityClass
.getDeclaredMethod ( "overridePendingTransition" ,
paramTypes );
}
catch ( Exception e ) {
e.printStackTrace ( );
}
Handler handler = new Handler ( );
handler.postDelayed ( new Runnable ( ) {
@ Override
public void run ( ) {
Intent i = new Intent (
FadeSplashScreenActivity.this ,
FadeMainActivity.class );
startActivity ( i );
finish ( ); // 关闭当前的Activity
if (overrideAnimation != null) {
try {
overrideAnimation.invoke ( FadeSplashScreenActivity.this ,
android.R.anim.fade_in ,
android.R.anim.fade_out );
}
catch ( Exception e ) {
// TODO Auto-generated catch block
e.printStackTrace ( );
}
}
}
} , 2000 );
}
2. 使用定时器的做
private long splashDelay = 5000; //5s 以后进行跳转
/** Called when the activity is first created. */
@ Override
public void setView ( ) {
setContentView ( R.layout.activity_splash_fade2_main );
}
@ Override
public void initView ( ) {
TimerTask task = new TimerTask ( ) {
@ Override
public void run ( ) {
finish ( ); // 关闭Activity
Intent mainIntent = new Intent ( )
.setClass ( Fade2MainActivity.this ,
FadeMainActivity.class );
startActivity ( mainIntent );
overridePendingTransition ( android.R.anim.fade_in ,
android.R.anim.fade_out );
}
};
Timer timer = new Timer ( );
timer.schedule ( task , splashDelay );
}

浙公网安备 33010602011771号