当前位置: 首页 > 知识库问答 >
问题:

如何在反应原生Android应用程序中显示GIF?

狄英哲
2023-03-14

我想在我的android react本机应用程序的图像标签中通过URL显示一个简单的gif,但当我启动它时,不会显示任何图像。文档中提供的代码仅适用于iOS,不适用于android:

<Image
  style={styles.gif}
  source={{uri: 'http://38.media.tumblr.com/9e9bd08c6e2d10561dd1fb4197df4c4e/tumblr_mfqekpMktw1rn90umo1_500.gif'}}
/>

这里有一个类似的问题,但正如前面所说,这只适用于iOS:如何在React Native中显示动画gif
关于此提交,它应该可以工作:https://github.com/facebook/react-native/commit/fcd7de5301655b39832d49908e5ca72ddaf91f7e

共有3个答案

顾嘉良
2023-03-14

如果使用RN版本。60尝试在应用程序内部版本中添加以下内容。gradle文件

dependencies {
    implementation 'com.facebook.fresco:animated-gif:2.0.0'
}

来源

李康安
2023-03-14

对于最新的React Native(v0.48),上述所有操作都不适用。我不得不在我的android/app/build中添加以下依赖项。渐变

编译com.facebook.fresco壁画com.facebook.fresco动画

范文昌
2023-03-14

我们通过使GIF支持等选项成为可选选项,使核心库变得更小。

因此,我们必须手动选择Android中的gif支持。将以下两行添加到您的android/应用程序/构建中。依赖项下的gradle文件:

compile "com.facebook.fresco:animated-gif:1.3.0"
compile "com.facebook.fresco:animated-base-support:1.3.0"

因此,您的依赖项部分可能如下所示:

dependencies {
  compile fileTree(dir: "libs", include: ["*.jar"])
  compile "com.android.support:appcompat-v7:23.0.1"
  compile "com.facebook.react:react-native:+"  // From node_modules
  compile "com.facebook.fresco:animated-gif:1.3.0"
  compile "com.facebook.fresco:animated-base-support:1.3.0"

这解决了调试版本的问题,但如果您希望在发布版本中也解决此问题,则必须将以下行添加到proguard规则文件中:

-keep class com.facebook.imagepipeline.animated.factory.AnimatedFactoryImpl { public AnimatedFactoryImpl(com.facebook.imagepipeline.bitmaps.PlatformBitmapFactory, com.facebook.imagepipeline.core.ExecutorSupplier); }

有关此方面的更多信息,请点击此处:https://github.com/facebook/fresco/issues/1177

此提交已修复此问题,并将包含在下一个版本中。

 类似资料:
  • 我已经看到了新版本的Android反应本机,并尝试了一些示例。它仅适用于USB调试模式和“adb反向tcp: 8081 tcp: 8081”。我如何为“生产”构建Android应用程序,包括所有依赖项,而无需反应Web服务器连接。谢谢你。

  • 我想显示svg文件(我有一堆svg图像),但我找不到显示方式。我试图使用图像和使用 react-native-svg 的组件,但它们不起作用。我试图用原生方式做到这一点,但只显示svg图像真的很辛苦。 示例代码: 另外,我知道反应原生基本上不支持svg,但我认为有人用棘手的方式解决了这个问题(有/没有反应原生-svg)

  • 问题内容: 我想以特定尺寸在Android应用程序中显示图片。我该怎么做?请指导我?还有一件事,我想从SD卡中获得该图像。所以请帮帮我。 提前致谢。 问题答案: 首先,您需要创建一个imageview。 创建布局参数以在布局上添加imageview 然后获取您的图像路径 在ImageView上设置图像 获取您要添加的布局 将视图添加到布局

  • 我收到这些错误; java.lang.Runtime异常:无法加载脚本。请确保您正在运行地铁服务器(运行“反应本机启动”),或者您的捆绑包“index.android.bundle”已正确打包以供发布。

  • 我在playstore有一个11K的应用程序。该应用程序是本地Java的。我做了一个react原生应用程序与相同的包名,并更改了jks密钥到密钥存储文件和更改了版本代码。我正在使用的应用程序存储jks文件,我得到这个错误,我知道通过卸载解决,但我不能告诉用户卸载,有没有其他方式执行失败的任务':app:installrelease'。 com.android.builder.testing.api

  • 我有一个用Kotlin(android studio)编写的android应用程序和用React Native编写的应用程序的UI。我的问题是这些能联系在一起吗?如果是,怎么做?还有,你们能发布一些我可以通过的链接吗。 附注:我对react Native一无所知。