闪屏页的初级实现
闪屏可以大大减缓用户在心理上的焦虑情绪.此外,闪屏期间也可以对产品进行简短的展示
实现代码如下:
//声明一个TextView用于显示闪屏页上的文字
private TextView tv_splash;
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;
}
}
};
//判断第一次运行
private boolean isFirst() {
//ShareProference中取值,第一次里面是没有值的,所以默认为true即是第一次运行
boolean isFirst = ShareUtils.getBoolean(this,StaticClass.SHARE_IS_FIRST,true);
if (isFirst){
//判断是第一次运行后,需要把值设为false下次打开时从中取值就为false,即不是第一次运行
ShareUtils.putBoolean(this,StaticClass.SHARE_IS_FIRST,false);
//is first
return true;
}else {
return false;
}
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
initView();
}
private void initView() {
//延时2000ms,并且发送消息,接收到消息后开始判断是否第一次运行
handler.sendEmptyMessageDelayed(StaticClass.HANDLER_SPLASH,2000);
tv_splash = (TextView) findViewById(R.id.tv_splash);
//设置字体
//UtilTools.setFont(this,tv_splash);
}
//禁止返回键
@Override
public void onBackPressed() {
// super.onBackPressed();
}