【问题标题】:How do you make a launch/splash screen for android in React-Native?你如何在 React-Native 中为 android 制作启动/启动屏幕?
【发布时间】:2016-05-22 15:24:41
【问题描述】:

我已经搜索了一段时间,但我没有找到任何关于如何使用 react-native 将启动/启动屏幕添加到我的 android 应用程序的信息。

我已经看到很多关于如何在 iOS 上执行此操作的示例,但我还需要它与 android 一起使用。我喜欢可以跨平台工作的东西,但如果当前的 react-native 无法做到这一点,我可以同时实现它。我也看到了一种使用 java 的方法,但我真的不希望用 java 代码污染我的应用程序,尽量保留我在 react 中编写的内容。

有谁知道这是怎么做到的?

【问题讨论】:

标签: javascript android react-native splash-screen launch-screen


【解决方案1】:

启动画面是 iOS 应用程序的内置功能 - 您不能没有在 iOS 上拥有启动画面。

但是,通常 Android 应用程序没有它们。那些确实倾向于通过在首次启动时显示几秒钟的图像来模拟它的应用程序。

这在 react-native 中很容易做到(使用 setTimeout 和 setState({showSplashScreen:false}) 或类似的方法。将它包装在 Android 的检查中,就可以了。

编辑:正如 OP 在 cmets 中指出的那样,这会在应用加载时导致“白色闪烁”,因此目前看来最好的解决方案是使用插件或自定义 Java 代码。

【讨论】:

  • 感谢您的输入,但每当我这样做时,它会在瞬间显示白屏,然后显示图像。我确实知道必须有一种方法可以正确地做到这一点,因为我在许多应用程序中都看到了它。例如,Weather Underground 应用程序不会显示任何白色,只要单击它就会看到图像,还有 Shazam 和我见过的许多其他图像。但是我注意到 Facebook 和 Instagram 应用程序(我假设他们使用的是 react-native,因为 Facebook 编写了它)显示白色片刻然后加载。所以这可能是 react-native 的问题。
  • 啊。关于“白色闪光”的好点 - 很可能是由于反应原生的异步渲染。在这种情况下,你最好的最好的很可能是一个仅限 android 的插件,或者用 Java “污染”你的代码。
  • 顺便说一下,Facebook 还没有将 react-native 用于主要的 Facebook 应用程序。我相信你提到的其他应用程序也是用 Java 和 Android SDK 编写的。
  • 啊,很高兴知道。我想了这么多,我试图尽可能多地保持原生反应,但从我所看到的一切来看,如果我想要这个闪屏,我可能需要使用一些 java。不过,我感谢您的帮助。
  • Facebook F8 应用在 iOS 上使用闪屏,而在 Android 上不使用。在 iOS 上,启动画面之后是空白的白屏片刻,然后进入主屏幕。在 Android 上,在主屏幕之前启动时会出现一个空白的白屏。我已经在我的 Android 应用程序上实现了启动画面,并且我得到了类似的启动画面 => 白屏 => 主屏幕的行为......所以我想知道那个白屏是否不是屏幕这是由我可以控制的应用程序呈现的。
猜你喜欢
  • 1970-01-01
  • 2016-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多