app启动页react-native-splash-screen(android)

react-native启动时会装载js bundle到内存并渲染界面,这段时间界面是一个空View(白屏)。这个过程即为项目初始化过程中。瞬间的白屏会影响用户体验,因此利用react-native-splash-screen可以配置一个对用户体验相对友好的启动页。

步骤

1、下载:react-native-splash-screen

在项目根目录运行终端执行 yarn add react-native-splash-screen(推荐) 或者 npm install react-native-splash-screen --save


app启动页react-native-splash-screen(android)_第1张图片

如报错请运行多次,下载成功如下


app启动页react-native-splash-screen(android)_第2张图片


2、安装:react-native link react-native-splash-screen

运行终端执行以下命令进行自动安装


app启动页react-native-splash-screen(android)_第3张图片

3、android配置

(1)、打开android\app\src\main\java\com目录下的MainActivity.java添加以下三项,如图

A、import android.os.Bundle;

B、import org.devio.rn.splashscreen.SplashScreen;

C、@Override

protected void onCreate(Bundle savedInstanceState) {

SplashScreen.show(this);

super.onCreate(savedInstanceState);

}


app启动页react-native-splash-screen(android)_第4张图片

(2)、在 android/app/src/mian/res目录下创建layout文件夹,并在创建的layout文件夹中创建launch_screen.xml,添加相应配置

在项目根目录运行终端执行:

A、创建layout文件夹: mkdir android/app/src/main/res/layout


app启动页react-native-splash-screen(android)_第5张图片


app启动页react-native-splash-screen(android)_第6张图片

(3)、在 android/app/src/mian/res目录下创建drawable-xhdpi和drawable-xxhdpi文件夹,并添加名为launch_screen.png的图片(若要想适配的更全面可以像mipmap一样添加不同分辨率的图片)

在项目根目录运行终端执行:

A、创建drawable-xhdpi文件夹

B、创建drawable-xxhdpi文件夹


app启动页react-native-splash-screen(android)_第7张图片
app启动页react-native-splash-screen(android)_第8张图片

4、使用

在首页导入react-native-splash-screen,在componentDidMount中执行hide隐藏启动屏(不是必须,可按照需要在适当的时候隐藏)


app启动页react-native-splash-screen(android)_第9张图片

5、运行项目看效果


app启动页react-native-splash-screen(android)_第10张图片


6、关于报错

(1)、放上启动页的图片时。因为Androidstudio严格审查png图片,要是png没有达到Androidstudio的要求,或者格式错误,则会报如下错误

java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException:

app启动页react-native-splash-screen(android)_第11张图片

则在build.gradle文件下的android下添加

aaptOptions.cruncherEnabled = false    和    aaptOptions.useNewCruncher = false 这两句即可,表示忽略png严格检查

(2)、

app启动页react-native-splash-screen(android)_第12张图片

报如上图的错误时,解决方法如下:


app启动页react-native-splash-screen(android)_第13张图片

你可能感兴趣的:(app启动页react-native-splash-screen(android))