Android中启动页的实现

背景

只要是一个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,
    DELAY_TIME);
    方法中第一个参数类型是int,表示是什么消息;第二个参数的类型是long,表示消息发送延迟时间。

我的启动页展示

这里写图片描述


A little bit of progress every day!Come on!

猜你喜欢

转载自blog.csdn.net/csdnzouqi/article/details/80677155
今日推荐