效果图:
闪屏页用到了handler和CountDownTimer类,还需配置一下Activity的主题,这里是:android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 全屏主题的意思。
实现源码:
1 package com.example.shanping; 2 3 import java.lang.ref.WeakReference; 4 5 import com.example.shanping.MyActivity.MyCountDownTimer; 6 7 import android.os.Bundle; 8 import android.os.CountDownTimer; 9 import android.os.Handler; 10 import android.os.Message; 11 import android.app.Activity; 12 import android.content.Intent; 13 import android.util.Log; 14 import android.view.Menu; 15 import android.widget.TextView; 16 17 public class MainActivity extends Activity { 18 19 private MyCountDownTimer mc; 20 private TextView tv; 21 @Override 22 protected void onCreate(Bundle savedInstanceState) { 23 super.onCreate(savedInstanceState); 24 setContentView(R.layout.activity_main); 25 tv = (TextView) findViewById(R.id.textView1); 26 mc = new MyCountDownTimer(3000, 1000); 27 mc.start(); 28 handler.postDelayed(new Runnable() { 29 30 @Override 31 public void run() { 32 Intent intent=new Intent(MainActivity.this,MyActivity.class); 33 startActivity(intent); 34 } 35 }, 3000); 36 } 37 private Handler handler=new Handler(); 38 /** 39 * 继承 CountDownTimer 防范 40 * 41 * 重写 父类的方法 onTick() 、 onFinish() 42 */ 43 44 class MyCountDownTimer extends CountDownTimer { 45 /** 46 * 47 * @param millisInFuture 48 * 表示以毫秒为单位 倒计时的总数 49 * 50 * 例如 millisInFuture=1000 表示1秒 51 * 52 * @param countDownInterval 53 * 表示 间隔 多少微秒 调用一次 onTick 方法 54 * 55 * 例如: countDownInterval =1000 ; 表示每1000毫秒调用一次onTick() 56 * 57 */ 58 public MyCountDownTimer(long millisInFuture, long countDownInterval) { 59 super(millisInFuture, countDownInterval); 60 } 61 62 public void onFinish() { 63 tv.setText("正在跳转"); 64 } 65 66 public void onTick(long millisUntilFinished) { 67 tv.setText("倒计时(" + millisUntilFinished / 1000 + ")"); 68 } 69 70 } 71 72 }