首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >android之启动页面(SplashActivity)

android之启动页面(SplashActivity)

作者头像
李小白是一只喵
发布2020-12-01 10:53:37
发布2020-12-01 10:53:37
2.3K0
举报
文章被收录于专栏:算法微时光算法微时光

image.png

SplashActivity

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

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

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

实战代码

SplashActivity实现全屏:

代码语言:javascript
复制
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

注意必须在setContentView前调用。

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

代码语言:javascript
复制
sleep(3000);

SplashActivity的xml:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".SplashActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.977" />

</androidx.constraintlayout.widget.ConstraintLayout>

主页的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 {

代码语言:javascript
复制
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中调用:

代码语言:javascript
复制
       try {
            sleep(5000);//使程序休眠一秒
            HomeActivity.goHome(this);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

实现active的切换。

SplashActivity的全部代码:

代码语言:javascript
复制
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();
        }

    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SplashActivity
  • 实战代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档