Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何设置react原生android的启动屏幕_Android_React Native - Fatal编程技术网

如何设置react原生android的启动屏幕

如何设置react原生android的启动屏幕,android,react-native,Android,React Native,如何为react原生android设置初始屏幕,我找不到任何关于这个主题的内容,我认为这很奇怪 谢谢我试过以下三种方法。第一个是我目前在react原生项目的android启动屏幕上使用的 使用其他人编写的npm包 参考: 创建一个SplashScreen组件,然后重定向 参考: 本机在javacode中运行 参考: 我在initialRoute的componentDidMount()中有一个fetch请求 使用上面列表中的第一种方式在显示启动屏幕时执行请求 而第二种方法需要等待SplashScr

如何为react原生android设置初始屏幕,我找不到任何关于这个主题的内容,我认为这很奇怪


谢谢

我试过以下三种方法。第一个是我目前在react原生项目的android启动屏幕上使用的

  • 使用其他人编写的npm包

    参考:

  • 创建一个
    SplashScreen
    组件,然后重定向

    参考:

  • 本机在
    java
    code中运行

    参考:

  • 我在
    initialRoute
    componentDidMount()
    中有一个
    fetch
    请求

    使用上面列表中的第一种方式在显示启动屏幕时执行请求

    而第二种方法需要等待
    SplashScreen
    组件卸载


    第三种方法是编写和维护更多的代码。

    本教程非常有用-我引用了它并进行了一些修改,我添加了
    react原生背景色
    touch

    (基于此-这是本机Android技术)

  • 您需要在res/drawable中创建初始屏幕。我们称之为splash_screen.xml

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item
            android:drawable="@android:color/white"/>
    
        <item>
            <bitmap
                android:gravity="center"
                android:src="@mipmap/ic_launcher"/>
        </item>
    
    </layer-list>
    
    我们使用SplashTheme而不是更新AppTheme,添加此背景只是为了开始活动,而不更改其他内容

  • 在您尝试上述操作之后,您会注意到启动屏幕将始终位于您的js视图下。有两个选项可以隐藏启动屏幕:

    • 使用react native background color module from在背景上设置颜色,以删除图像。(这是推荐的方式,因为在某些情况下,当键盘显示时,它会使根视图在瞬间可见。)
    • 或者在根视图上设置纯色(不透明)背景色
  • 请注意“根视图”的含义。这是您在自己控制的应用程序中渲染的第一个
    (意味着您可以对其进行样式设置)

    自定义颜色 如果您想使用自定义颜色,而不是
    @android:color/***
    ,那么您需要在
    android\app\src\main\res\values\colors.xml中创建
    colors.xml
    ,并定义如下颜色:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <color name="foobar">#ca949b</color>
    </resources>
    
    
    #ca949b
    
    您可以使用任何名称和颜色代码

    然后回到
    splash\u screen.xml
    中,我们将
    更新为

    有关从后面删除背景飞溅图像的其他信息 在你创造了这样的飞溅之后。您将注意到,图像永远保留在背景中。要删除此图像,请使用此模块--并使用任何颜色调用
    BackgroundColor.setColor('#XXXXXX')
    。它将删除图像

    不要在根视图上使用不透明的颜色来覆盖飞溅,仍然建议使用上述模块,因为当键盘显示时,背景视图会显示一秒钟。

    您尝试使用了吗?几天前我遇到了这个。在iOS上运行良好,但我还没有在Android上进行测试(应该可以)。 您应该安装了节点>=6和imageMagic。(适用于mac:
    brew安装imagemagic


    以下是关于您的问题的答案,可能与我如何在Android中添加视频闪屏的问题相同如何为诺基亚5.1 Plus(以及其他类似屏幕设备)实现闪屏全屏谢谢@SeunLanLege!我刚刚添加了如何使用“自定义颜色”而不是
    @android:color/***
    默认值。谢谢,这是在android中添加闪屏的简单方法。但我们放置的图像快速而简单,但在我的android设备上,图像很小。有什么办法让它更大吗?@mediaguru是的,上面使用的是你的启动器图标
    @mipmap/ic_launcher
    。要更改此设置,请在您的
    android/app/src/main/res/drawable
    文件夹中创建一个名为
    splash.png
    的图像。然后在
    splash\u screen.xml
    中将
    @mipmap/ic\u启动器
    更改为
    @drawable/splash
    。请看这里--如果这有帮助,请不要忘记向上投票。@Lavaraju请看我之前的评论,它告诉您如何使用图像。如果有帮助的话,请向上投票。我刚刚使用了启动图标命令:D现在这个!节省了我很多时间哇!!!这就是我一直在寻找的。非常感谢。就像离子资源一样。我认为这应该添加到
    react native
    源代码和文档中
    <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/SplashTheme"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
    </activity>
    
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <color name="foobar">#ca949b</color>
    </resources>
    
    npm install -g yo generator-rn-toolbox
    yo rn-toolbox:assets --splash IMGAE --android