You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Expo中显示动态GIF?已尝试Fresco未找到适配方案求解决

Expo 中显示 GIF 的可行方案

Expo 自带的 Image 组件默认不支持动态 GIF 的播放,给你两个直接能用的适配方案:

方案一:使用 Expo 官方推荐的 expo-image 库

这是最省心的方案,完全适配 Expo 所有环境:

  1. 先安装依赖:
    npx expo install expo-image
    
  2. 替换你原来的代码:
    import { Image } from 'expo-image';
    
    // 在组件里直接用
    <Image
      style={{ width: 38, height: 38 }}
      source={require('../assets/images/avatar.gif')}
      autoPlay={true} // 开启自动播放
      contentFit="cover" // 可选,控制图片填充方式
    />
    

方案二:用 expo-av 实现更多控制(适合需要自定义播放逻辑的场景)

如果需要暂停、循环次数控制这类功能,可以用这个库:

  1. 安装依赖:
    npx expo install expo-av
    
  2. 示例代码:
    import { Video } from 'expo-av';
    
    // 组件内使用
    <Video
      style={{ width: 38, height: 38 }}
      source={require('../assets/images/avatar.gif')}
      shouldPlay={true}
      isLooping={true}
      resizeMode="cover"
    />
    

你之前用原生 Image 组件不行的原因是:Expo 的原生 Image 只处理静态图片,GIF 需要专门的解码和播放逻辑,上面两个库都已经封装好了这些功能,直接用就行。

内容的提问来源于stack exchange,提问作者Goutam Pareek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 12:27:48