背景
只要是一个app,每次打开的时候会显示启动页面,然后再进入主界面。下面看几个app的启动页展示:
我的思路
- 启动页面肯定是要打开就显示的,然后用一个Activity展示。界面可以是一张设计好的图片,然后在xml布局文件中展示,充满全屏。当然也可以不用图片,可以自己设计包含简单显示控件(比如文本控件、图片控件等)的布局。
- 在onCreate方法中调用handler的sendEmptyMessageDelayed方法,发送延迟消息,自己设置启动页面展示的时间长短,一般是3000ms,然后从启动页面跳转其他页面。
代码实现
package com.example.administrator.firststeppro.activity;
import android.app.ActionBar;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import com.example.administrator.firststeppro.R;
/**
* 启动页面
*/
public class SplashActivity extends Activity {
private static final int WHAT_DELAY = 0x11;// 启动页的延时跳转
private static final int DELAY_TIME = 3000;// 延时时间
// 创建Handler对象,处理接收的消息
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what){
case WHAT_DELAY:// 延时3秒跳转
goHome();
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
// 调用handler的sendEmptyMessageDelayed方法
handler.sendEmptyMessageDelayed(WHAT_DELAY, DELAY_TIME);
}
/**
* 跳转到主页面
*/
private void goHome() {
startActivity(new Intent(SplashActivity.this, MainActivity.class));
finish();// 销毁当前活动界面
}
}
- 做一下简单的说明。
handler.sendEmptyMessageDelayed(WHAT_DELAY,
方法中第一个参数类型是int,表示是什么消息;第二个参数的类型是long,表示消息发送延迟时间。
DELAY_TIME);
我的启动页展示
A little bit of progress every day!Come on!