如何在React Native应用程序中显示Android中的Drawables?

时间:2017-06-27 18:31:26

标签: react-native react-native-android

最终我正试图在设备上看到其他应用程序的图标。可以在Android本机端使用PackageManager.getApplicationIcon(packageName)收集应用程序图标,但这会返回Drawable。 https://developer.android.com/reference/android/content/pm/PackageManager.html#getApplicationIcon%28java.lang.String%29

如何在React Native应用程序中显示Drawable?不担心iOS交叉兼容性。

1 个答案:

答案 0 :(得分:4)

根据我的理解,您只想在您的反应原生视图中显示应用程序图标图像。如果是这样,那么您应该按照以下步骤操作:

  1. 将您的Drawable转换为位图。这确实涉及一些您可以在此答案中找到的本机代码 - https://stackoverflow.com/a/3035869/5597641
  2. 将位图转换为Base64字符串。这可以在https://stackoverflow.com/a/9224180/5597641
  3. 中找到
  4. 将字符串发送到本机反应。比如,你在appIcon变量中有base64字符串。
  5. 您可以使用反应原生的<Image/>组件显示它:

    <Image style={{height: 50, width: 50}} resizeMode={'contain'} source={{uri: appIcon}} />