android之启动页面(SplashActivity)

image.png

SplashActivity

打开一个应用程序时,会有一个类似欢迎的界面,它叫SplashActivity。

一般在这个页面可以做一些App数据初始化的工作。

实现的效果当用户点击App icon后,进入SplashActivity,大约经过1~2秒跳转到程序的主界面。

实战代码

SplashActivity实现全屏:

        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

注意必须在setContentView前调用。

为了简单处理 这里在加载主要的active时候只做了个等待处理:

sleep(3000);

SplashActivity的xml:




    


主页的active:
···
package com.exmple.splashactivity;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;

import androidx.appcompat.app.AppCompatActivity;

public class HomeActivity extends BaseActive {

public static void goHome(Context context) {
    Intent intent = new Intent(context, HomeActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(intent);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);
}

}
···

在SplashActivity中调用:

       try {
            sleep(5000);//使程序休眠一秒
            HomeActivity.goHome(this);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

实现active的切换。

SplashActivity的全部代码:

package com.exmple.splashactivity;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;

import static java.lang.Thread.sleep;

public class SplashActivity extends BaseActive {

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        try {
            sleep(3000);//使程序休眠一秒
            HomeActivity.goHome(this);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

    }
}

你可能感兴趣的:(android之启动页面(SplashActivity))