Android 增加一个应用启动界面

为了让app的逼格更高  为了让app的界面更人性化,并且让app在刚刚启动数据还没加载出来时不至于一片白屏太难看以至于吓跑用户,尝试增加一个启动页面。

 

首先建立一个新的empty Activity,给它命名为LaunchActivity,这时候多出来两个文件

java文件LaunchActivity和布局文件activity_launch.xml

编辑布局文件,其实就是在里边塞一个图片

<?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=".LaunchActivity">
    <!--该xml定义了启动界面,比如塞进去一个图片-->
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY"
        android:src="@drawable/start_loading"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

编辑LaunchActivity,这个Activity主要干了两件事:显示一个图片,然后在两秒之后进入下一个即MainActivity

package com.example.windelves;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;

//该activity为初始启动页,app启动时应当第一个启动该Activity,
//在该activity完成一些乱七八糟的麻烦任务,并且显示应用程序启动页以显得高逼格
public class LaunchActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_launch);
        Integer time = 2000;  //设置等待时间,单位为毫秒
        Handler handler = new Handler();
        //当计时结束时,跳转至主界面
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                startActivity(new Intent(LaunchActivity.this, MainActivity.class));
                LaunchActivity.this.finish();
            }
        }, time);
    }
}

 

接下来编辑注册表单AndroidManifest.xml

将这些代码

<intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

拖进LaunchActivity里,即

<!--LaunchActivity被设置为了启动activity-->
        <activity
            android:name=".LaunchActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

app启动时将首先启动LaunchActivity。

posted @ 2022-10-21 19:26  拾一贰叁  阅读(233)  评论(0编辑  收藏  举报