一、在onCreate里设置个Timer,然后建立Intent指向你要调用的Activity。设置Timer 任意秒后执行startActivity即可!(Timer是一种定时器工具,用来在一个后台线程计划执行指定任务,它可以计划执行一个任务一次或反复多次)
- final Intent it = new Intent(this, Activity1.class);
- Timer timer = new Timer();
- TimerTask task = new TimerTask() {
- @Override
- public void run() {
- startActivity(it);
- }
- };
- timer.schedule(task, 1000 * 10);
二、利用子线程在run方法中设置跳转,用Handler来执行。
- public class WelcomeActivity extends Activity {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
-
- super.onCreate(savedInstanceState);
- setContentView(R.layout.welcome);
- new Handler().postDelayed(r, 1000);
- }
- Runnable r = new Runnable() {
- @Override
- public void run() {
-
- Intent intent = new Intent();
- intent.setClass(WelcomeActivity.this, MainActivity.class);
- startActivity(intent);
- finish();
- }
- };
- }
三、以动画形式(旋转、缩放等)作为开始页面,这种方法在项目中也是比较常用的,比第一种方法多了动画集,具体看代码注释!
开始动画页面布局splashMain.xml
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent" >
- <ImageView
- android:id="@+id/iv_splash_mainview"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:background="@drawable/splash_bg"
- android:src="@drawable/splash_sheep_n" />
- </LinearLayout>
开始动画页面splashActivity.java
- public class <span style="font-family: Arial, Helvetica, sans-serif;">splash</span><span style="font-family: Arial, Helvetica, sans-serif;">Activity extends Activity {</span>
-
- private ImageView iv_mainview;
- private AnimationSet as;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
-
- super.onCreate(savedInstanceState);
-
-
-
- initView();
-
- startAnimation();
-
- initEvent();
- }
-
-
- private void initEvent() {
-
- as.setAnimationListener(new AnimationListener() {
-
- @Override
- public void onAnimationStart(Animation animation) {
-
- }
-
- @Override
- public void onAnimationRepeat(Animation animation) {
-
- }
-
-
- @Override
- public void onAnimationEnd(Animation animation) {
-
-
- Intent main = new Intent(<span style="font-family: Arial, Helvetica, sans-serif;">splash</span><span style="font-family: Arial, Helvetica, sans-serif;">Activity </span><span style="font-family: Arial, Helvetica, sans-serif;">.this,MainActivity.class);</span>
- startActivity(main);
-
-
- finish();
- }
- });
- }
-
-
-
-
- private void startAnimation() {
-
- as = new AnimationSet(false);
-
-
- RotateAnimation ra = new RotateAnimation(
- 0, 360,
- Animation.RELATIVE_TO_SELF, 0.5f,
- Animation.RELATIVE_TO_SELF,0.5f);
-
- ra.setDuration(2000);
- ra.setFillAfter(true);
-
-
- as.addAnimation(ra);
-
-
- AlphaAnimation aa = new AlphaAnimation(0, 1);
-
- aa.setDuration(2000);
- aa.setFillAfter(true);
-
-
- as.addAnimation(aa);
-
-
- ScaleAnimation sa = new ScaleAnimation(
- 0, 1, 0, 1,
- Animation.RELATIVE_TO_SELF, 0.5f,
- Animation.RELATIVE_TO_SELF, 0.5f);
-
- sa.setDuration(2000);
- sa.setFillAfter(true);
-
-
- as.addAnimation(sa);
-
-
- iv_mainview.startAnimation(as);
-
-
-
-
-
- }
-
- private void initView() {
-
- setContentView(R.layout.onemain);
-
-
- iv_mainview = (ImageView) findViewById(R.id.iv_splash_mainview);
-
- }
-
-
-
-
- }