SplashActivity闪屏页的实现
思路是使用handler发送延迟消息,达到留在闪屏页一段事件的效果。
判断程序是否是第一次运行 是则从闪屏页到引导页 不是就从闪屏页直接到达主页面
StaticClass
//闪屏业延时
public static final int HANDLER_SPLASH = 1001;
//判断程序是否是第一次运行
public static final String SHARE_IS_FIRST = "isFirst";
在oncreate()方法中初始化view
private void initView() {
//延时2000ms
handler.sendEmptyMessageDelayed(StaticClass.HANDLER_SPLASH, 2000);
}
private boolean isFirst() {
boolean isFirst = ShareUtils.getBoolean(this,StaticClass.SHARE_IS_FIRST,true);
if(isFirst){
ShareUtils.putBoolean(this,StaticClass.SHARE_IS_FIRST,false);
//是第一次运行
return true;
}else {
return false;
}
}
主要实现逻辑代码
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case StaticClass.HANDLER_SPLASH:
//判断程序是否是第一次运行
if (isFirst()) {
startActivity(new Intent(SplashActivity.this, GuideActivity.class));
} else {
startActivity(new Intent(SplashActivity.this, LoginActivity.class));
}
finish();
break;
}
}
};