(Android)react-native-splash-screen实践-解决react-native打包好后启动白屏的问题

1.安装

npm i react-native-splash-screen --save or
yarn add react-native-splash-screen --save

2.自动配置

react-native link react-native-splash-screen or rnpm link react-native-splash-screen

or 3.手动配置

3.1 android/settings.gradle

include ‘:react-native-splash-screen‘
project(‘:react-native-splash-screen‘).projectDir = new File(rootProject.projectDir, ‘../node_modules/react-native-splash-screen/android‘)

3.2  android/app/build.gradle

...
dependencies {
    ...
    compile project(‘:react-native-splash-screen‘)
}

3.3 MainApplication.java

// react-native-splash-screen >= 0.3.1
import org.devio.rn.splashscreen.SplashScreenReactPackage;
// react-native-splash-screen < 0.3.1
// import com.cboy.rn.splashscreen.SplashScreenReactPackage;

public class MainApplication extends Application implements ReactApplication {

    private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
        @Override
        protected boolean getUseDeveloperSupport() {
            return BuildConfig.DEBUG;
        }

        @Override
        protected List<ReactPackage> getPackages() {
            return Arrays.<ReactPackage>asList(
                    new MainReactPackage(),
            new SplashScreenReactPackage()  //here 
            );
        }
    };

    @Override
    public ReactNativeHost getReactNativeHost() {
        return mReactNativeHost;
    }
}

3.4 MainActivity.java

import android.os.Bundle; // here
import com.facebook.react.ReactActivity;
// react-native-splash-screen >= 0.3.1
import org.devio.rn.splashscreen.SplashScreen; // here
// react-native-splash-screen < 0.3.1
// import com.cboy.rn.splashscreen.SplashScreen; // here 

public class MainActivity extends ReactActivity {
   @Override
    protected void onCreate(Bundle savedInstanceState) {
        SplashScreen.show(this);  // here
        super.onCreate(savedInstanceState);
    }
    // ...other code
}

3.5 在app/src/main/res/layout下创建launch_screen.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/launch_screen">
</LinearLayout>

3.6 在app/src/main/res/drawable/ 下加入launch_screen.png图片

3.7 设置透明背景android/app/src/main/res/values/styles.xml

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <!--设置透明背景-->
        <item name="android:windowIsTranslucent">true</item>
    </style>
</resources>

3.8 react-native run-android失败 提示tool:replace allbackup

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="包名">

application节点添加
<application tools:replace="android:allowBackup" ...

3.9 android 闪退 需要添加android/app/src/main/res/values/colors.xml

<?xml version="1.0" encoding="utf-8"?> <resources> <color name="primary_dark">#660B0B0B</color> </resources>

https://github.com/crazycodeboy/react-native-splash-screen/issues/149

4.用法

import SplashScreen from ‘react-native-splash-screen‘

export default class WelcomePage extends Component {

    componentDidMount() {
        // do stuff while splash screen is shown
        // After having done stuff (such as async tasks) hide the splash screen
        SplashScreen.hide();
    }
}

原文地址:https://www.cnblogs.com/cosyer/p/8992218.html

时间: 2024-07-29 00:31:32

(Android)react-native-splash-screen实践-解决react-native打包好后启动白屏的问题的相关文章

Android开发之解决APP启动白屏或者黑屏闪现的问题

在做搜芽的过程中,发现那个外包人缘做的不行,因为启动的时候会停顿,然后白屏一会,联想到几个月前我在我的三僚企业通信软件里面拉起9K-Mail的时候也会黑屏,所以决定学习一下.解决一下.这不,万能的网络还是非常有用的. 在这里总结一下. (参考及转载:http://www.2cto.com/kf/201409/339293.html) 欢迎页启动的线程由于请求和处理的数据量过大而,导致欢迎页在出现之前界面上会有一个短暂的白色闪屏停留,当然白色闪屏的停留是因为 application 的主题样式an

解决android 启动白屏问题

Android 启动APP时黑屏白屏的三个解决方案 http://www.cnblogs.com/liqw/p/4263418.html android:windowSoftInputMode属性使用 http://www.blogjava.net/zhip/archive/2011/02/14/344258.html

android App启动白屏

app启动的时候在启动也显示之前会出现白屏或黑屏的情况. 主要是因为视图没有及时填充上造成的,解决方式如下: 在style中添加以下代码: <style name="SplashTheme" parent="AppTheme"> 1 <!--<item name="android:windowBackground">@drawable/first</item>-->//此行可以给window设置背景

ipad mini2 升级9.0.2后解锁白屏解决

解锁白屏是个什么现象?就是当你用手指滑动解锁后出现输入密码的界面后,1秒之内屏幕变白,中间一个黑色的苹果,几秒之后重新回到滑动解锁的界面.我出现这个现象不是因为升级了9.0.2,而是升级了9.0.2之后安装了搜狗输入法,我现在再也不敢乱装软件了(我没有越狱). 为了解决这个问题我试过很多方法,iTunes的恢复并更新也没有作用,要么更新失败,要么更新完毕后在“滑动来升级”的界面还是会遇到和解锁一样的白屏. 非常不情愿的,像是在做广告的,我是用爱思助手软件解决这个问题的.通过这个软件我将系统重新刷

android studio你可能忽视的细节——启动白屏?drawable和mipmap出现的意义?这里都有!!!

android studio用了很久了,也不知道各位小伙伴有没有还在用eclipse的,如果还有,楼主真心推荐转到android studio来吧,毕竟亲儿子,你会知道除了启动速度稍微慢些,你找不到一个亚于eclipse的地方,哦,你电脑还不能太烂~ 1)先来说说android studio 启动应用黑白屏的问题. 前不久升级了studio,更新到了2.1.1,发现了一个问题.在启动新项目的时候,app总会出现一段长时间的白屏或者黑屏,楼主一开始一直以为是楼主接的公司项目算法太耗时的原因,但是楼

Debian 系统安装后启动黑屏解决办法

这几天在尝试安装Debian系统,Debian 系统安装后启动黑,在网上搜索了各种解决方案(其中在WM安装3次,换不同版本还是不行),最终通过修改硬盘类型解决了,在此把各种经验与大家分享:1.最终成功办法:将原来的SCSI类型换为IDE,问题解决了:中途使用过的办法如下:1.宿主机(windows)管理员模式运行CMD, netsh winsock reset 然后重启电脑netsh winsock reset命令,作用是重置 Winsock 目录.如果一台机器上的Winsock协议配置有问题的

Android 启动白屏或者黑屏闪现解决

1.设置Style //1.设置背景图Theme 1 <style name="Theme.AppStartLoad" parent="android:Theme"> 2 <item name="android:windowBackground">@drawable/ipod_bg</item> 3 <item name="android:windowNoTitle">true&

Qt for Android 启动短暂的黑屏或白屏问题如何解决?

解决方法一: 使用透明主题 点击项目 -> 在 构建设置 里面找到 Build Android APK 栏目,点击 create templates 创建一个 AndroidManifest.xml <?xml version="1.0"?> <manifest package="org.qtproject.example" xmlns:android="http://schemas.android.com/apk/res/andr

[转]android应用启动黑白屏

不是原创,是搬运! 搬运出处: Android开发之解决APP启动白屏或者黑屏闪现的问题 解决Activity启动黑屏及设置android:windowIsTranslucent不兼容activity切换动画问题 Android 避免APP启动闪黑屏(Theme和Style) 一. 之前在做 APP 的时候不太关注这个问题,因为自己在使用其他 APP 的时候也会在应用启动的初始有一个黑屏闪过后才会出现应用的欢迎页.直到最近开发过程中发现自己在欢迎页启动的线程由于请求和处理的数据量过大而,导致欢迎