Я удалил код, который добавил в предыдущую реализацию, и начал заново с реализации экрана spla sh.
Эти инструкции изменены из документации по адресу act-native-spla sh -screen , вы можете перейти по этой ссылке, если вам также нужна инструкция для iOS
В командной строке выполните
yarn add react-native-splash-screen
Edit MainActivity. java
...
//Splash Screen stuff
import android.os.Bundle;
import org.devio.rn.splashscreen.SplashScreen;
// for react-native-splash-screen < 0.3.1 replace the line above with the line below
//import com.cboy.rn.splashscreen.SplashScreenReactPackage;
public class MainActivity extends ReactActivity {
...
@Override
protected void onCreate(Bundle savedInstanceState) {
SplashScreen.show(this); // here
super.onCreate(savedInstanceState);
}
...
}
Создайте файл с именем launch_screen. xml в приложении / src / main / res / layout (создайте папку layout, если она не существует) , Содержимое файла должно быть следующим:
<?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" />
</RelativeLayout>
создайте образ экрана запуска и назовите его launch_screen.png
скопируйте его в следующие папки внутри android/app/src/main/res
drawable
drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-xxhdpi
drawable-xxxhdpi
Добавить строка ниже вашего основного приложения. js file
import SplashScreen from 'react-native-splash-screen'
Внутри вашего основного приложения. js class добавьте следующее к вашей функции ComponentDidMount ()
export default class App extends React.Component {
...
componentDidMount() {
SplashScreen.hide();
}
...
}