在应用启动时,在加载js等资源的时候,会有短暂的白屏时间,可以通过设置图片来优化
一、安装依赖
// 根目录执行
yarn add react-native-splash-screen
二、创建布局文件
- 在android/app/src/main/res目录创建
layout/launch_screen.xml
<?xml version="1.0" encoding="utf-8">
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/launch_screen" android:scaleType="centerCrop"></ImageView>
</RelativeLayout>
- 在android/app/src/values创建
colors.xml
<?xml version="1.0" encoding="utf-8">
<resources>
<color name="colorPrimaryDark">#FFFFFF</color>
</resources>
- 然后在styles.xml中添加以下代码
<resources>
...
<style name="SplashScreenTheme" parent="SplashScreen_SplashTheme">
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
</style>
</resources>
- 在android/app/src目录中创建
drawable-xhdpi、drawable-xxadpi两个目录,并分别放入启动图片, 如:launch_screen.png - 在android/app/src/main/java/com/项目名/MainActivity.kt添加以下代码
...
import android.os.Bundle;
import org.devio.rn.splashscreen.splashscreen;
class MainActivity : ReactActivity() {
...
// 重写onCreate方法,整个RN项目的加载入口
override fun onCreate(Bundle savedInstanceState) {
Splashscreen.show(this, R.style.SplashScreenTheme);
super.onCreate(savedInstanceState);
}
}
6.然后在项目根目录执行
yarn android