如何在react-native android应用程序中显示GIF?

2023-12-27

我想通过我的 android 反应本机应用程序中的图像标签中的 URL 显示一个简单的 gif,但是当我启动它时,没有显示图像。 中提供的代码docs https://facebook.github.io/react-native/docs/image.html%20docs仅适用于 iOS,不适用于 Android:

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

这里有一个类似的问题,但正如已经说过的,这只适用于 iOS:如何在 React Native 中显示动画 gif? https://stackoverflow.com/questions/35594783/how-do-i-display-an-animated-gif-in-react-native
关于此提交,它应该可以工作:https://github.com/facebook/react-native/commit/fcd7de5301655b39832d49908e5ca72ddaf91f7e https://github.com/facebook/react-native/commit/fcd7de5301655b39832d49908e5ca72ddaf91f7e


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

正因为如此我们必须手动选择 Android 中的 gif 支持 http://frescolib.org/docs/index.html。 将以下两行添加到 android/app/build.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-rules 文件中:

-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 https://github.com/facebook/fresco/issues/1177

这是固定的commit https://github.com/facebook/fresco/commit/0d0c5757ff40eb9e9f23533c9798dcdde095ce86并将包含在下一个版本中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在react-native android应用程序中显示GIF? 的相关文章

随机推荐

  • 尝试在集群上无头运行 NetLogo 时出现 Java 错误

    我正在尝试使用 Linux 无头运行 Netlogo 以便将作业发送到集群 我以前从未使用过 Linux 但我正在尝试按照此处的说明进行操作 http netlogo users 18673 x6 nabble com Running Ne
  • FlushViewOfFile (Windows) 和 msync(Linux) 的时间消耗

    我们感兴趣的是时间消耗FlushViewOfFile https learn microsoft com en us windows win32 api memoryapi nf memoryapi flushviewoffile and
  • Scala 过滤器元组 (x, y) == (y, x)

    我有一个元组列表 例如 0 2 0 5 2 0 2 5 3 4 4 3 5 0 5 2 有一些元组在哪里 x y y x 例如 5 0 和 0 5 我只想留下其中一个 例如第一个 我该怎么做 使用左折叠 var ts List 0 2 0
  • Python 中真正的非阻塞 HTTPS 服务器

    我正在尝试用 Python 构建一个真正的非阻塞 HTTPS 服务器 如果每个人都玩得很好 下面的最小代码就可以正常工作 import BaseHTTPServer import SimpleHTTPServer import Socket
  • Python struct.pack 和 unpack

    我绝不是一个经验丰富的Python程序员 这就是为什么我相信这个问题可能有一个明显的答案 但我就是无法理解struct pack和unpack 我有以下代码 struct pack lt I elements self buf elemen
  • Android Compose 导航和 ViewModel 生命周期

    我刚刚开始使用 Compose 对于我来说 第一眼看上去 它就像是我喜欢的 SwiftUI 的副本 但当我真正开始使用它时 我很快就遇到了很多问题 显然 我需要找到如何使用它才能从中受益的正确方法 这是我的问题之一 package org
  • 确定 STDERR 是否要终端

    我有一套 Java 程序 它们在我们的 Linux 服务器上用作命令行工具 他们中的大多数使用一个在 STDERR 上打印进度条的类 类似于 Perl 的Term ProgressBar 我希望每当 STDERR 进入终端时显示进度条 并在
  • 使用表达式树的 Foreach 循环

    我见过这个构建动态表达式树时出现问题 https stackoverflow com questions 3646283 issue while building dynamic expression tree and 表达式 语句树 ht
  • OutOfMemoryException - 没有想法

    我知道我的问题没有简单的答案 但我希望得到一些想法 指南或 某种要看的东西清单 我有一个网络 Windows 服务不断抛出 OutOfMemoryException 该服务有两个针对 x86 和 x64 Windows 的版本 然而在 x6
  • C# 中 Bmp 转 jpg/png

    有没有办法在 C 中将 bmp 图像转换为 jpg png 而不损失质量 使用 Image 类我们可以将 bmp 转换为 jpg 但输出图像的质量很差 我们能否获得与使用最高质量的 Photoshop 转换为 jpg 的图像一样好的质量水平
  • 如何在netbeans中创建gradle多项目?

    我是 gradle 新手 正在尝试在 netbeans 中创建一个目录布局 myproject ear build gradle core build gradle web build gradle include core project
  • 了解 scikit-learn 中的 DictVectorizer?

    我正在探索不同的特征提取类scikit learn提供 正在阅读文档 http scikit learn org stable modules generated sklearn feature extraction DictVectori
  • 发光问题,未解决的外部问题

    我想开始使用 OpenGL 3 和 4 但我在让 Glew 工作时遇到问题 我尝试将 glew32 lib 包含在附加依赖项中 并且已将库和 dll 移动到主文件夹中 因此不应该有任何路径问题 我收到的错误是 Error 5 error L
  • PHP 7.x 使用 MAMP 与 MSSQL 服务器连接

    我正在尝试通过 MAMP 将 mssql 服务器连接到 PHP 7 0 8 我尝试过使用 freetds 在一些博客上人们说使用pdo dblib so扩展 但它不起作用 请指导我完成连接过程 对于仍然遇到此问题的人 Application
  • 使 sympy 表达式中的所有符号可交换

    假设 sympy 表达式中有许多非交换符号 例如 a c sympy symbols a c commutative False b sympy Symbol b expr a c b c 使表达式中的所有符号可交换的首选方式是什么 例如
  • 使用 lambda 作为函数指针时,模板参数推导/替换失败

    我想知道为什么在下面的代码中编译器无法使用 lambda 作为函数 foo 的参数 模板参数推导 替换失败 而一个简单的函数却可以工作 template
  • Datomic 中的 SQL LIKE 运算符

    我想运行一个 sql 查询 给定一个搜索关键字 将找到所有用户 其中他们的名字与该模式匹配 即在原始 SQL 中类似WHERE users name LIKE foo 我该怎么做呢 查询的当前结构 gt defn find users db
  • 传单用户触发事件

    有什么方法可以确定事件是通过编程方式触发还是由用户触发 我们希望在地图移动或缩放时重新加载标记列表 但我们最初使用以下命令设置地图的边界setBounds http leafletjs com reference html rectangl
  • 使用 plyr 将参数传递给 R 函数

    我无法解决一个问题 想写一个这样的函数 f describe lt function data var by require plyr res lt ddply data by summarize N sum is na var Mean
  • 如何在react-native android应用程序中显示GIF?

    我想通过我的 android 反应本机应用程序中的图像标签中的 URL 显示一个简单的 gif 但是当我启动它时 没有显示图像 中提供的代码docs https facebook github io react native docs im