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 ); }