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

加载随机图像反应本机

单喜
2023-03-14

我尝试从数组中随机加载gif。我尝试了几种方法,但都没有奏效。我要么收到错误消息,要么图像就不会出现。

版本 1(结果:图像未显示):

var myPix = new Array("../assets/class/emojis/correct/clapping_hands.gif", "../assets/class/emojis/correct/beaming_face_with_smiling_eyes.gif","../assets/class/emojis/correct/confetti_ball.gif","../assets/class/emojis/correct/flexed_biceps.gif");

var randomNum = Math.floor(Math.random() * myPix.length);
var theImage= myPix[randomNum];


  return (
      <View>
        <Image
          style={styles.gifAnimation}
        source={theImage}
/>
</View>

版本2(结果:“无效调用”)

var myPix = new Array("../assets/class/emojis/correct/clapping_hands.gif", "../assets/class/emojis/correct/beaming_face_with_smiling_eyes.gif","../assets/class/emojis/correct/confetti_ball.gif","../assets/class/emojis/correct/flexed_biceps.gif");

var randomNum = Math.floor(Math.random() * myPix.length);
var theImage= myPix[randomNum];


  return (
      <View>
        <Image
          style={styles.gifAnimation}
        source={require(myPix[randomNum])}
/>
</View>

版本3(结果:无法加载图像):

  const [theImage, setTheImage] = useState();
React.useEffect(() => {
    var myPix = new Array(
      "../assets/class/emojis/correct/clapping_hands.gif",
      "../assets/class/emojis/correct/beaming_face_with_smiling_eyes.gif",
      "../assets/class/emojis/correct/confetti_ball.gif",
      "../assets/class/emojis/correct/flexed_biceps.gif",

    );
    var randomNum = Math.floor(Math.random() * myPix.length);
    var x = myPix[randomNum];
    setTheImage_Correct(x);

source={image_correct 

有什么想法吗?

共有1个答案

宿嘉庆
2023-03-14

确保您已经实现了正确的环境来显示GIF,如下所述:

对于RN

默认情况下,GIF图像在Android反应原生应用程序中不受支持。您需要设置使用壁画来显示gif图像。代码:

编辑您的android/app/build.gradle文件,并添加以下代码:

依赖项:{

...

compile 'com.facebook.fresco:fresco:1.+'

// For animated GIF support
compile 'com.facebook.fresco:animated-gif:1.+'

// For WebP support, including animated WebP
compile 'com.facebook.fresco:animated-webp:1.+'
compile 'com.facebook.fresco:webpsupport:1.+' 

}

然后你需要再次捆绑应用程序,你可以像这样用两种方式显示gif图像。

1-> <Image 
        source={require('./../images/load.gif')}  
        style={{width: 100, height: 100 }}
    />

2-> <Image 
        source={{uri: 'http://www.clicktorelease.com/code/gif/1.gif'}}  
        style={{width: 100, height:100 }} 
    />
    enter code here

对于RN

implementation 'com.facebook.fresco:animated-gif:1.12.0' //instead of

implementation 'com.facebook.fresco:animated-gif:2.0.0'   //use

如本期所述:如何在React Native中显示动画gif?

 类似资料:
  • 问题内容: 我想从目录中随机加载图像,并在某处有一个刷新整个页面的按钮。这是我现在拥有的当前代码: 问题在于它一次加载了所有40万张图像。我只想加载30个。目录中的30张随机图像。我尝试查找一些代码,例如将上面的内容修改为: 但是,它似乎绝对没有任何作用。因此,如果有人可以帮助我从该目录中获取30张随机照片进行加载,并具有某种类型的重新加载按钮,那将是非常有用的。 先感谢您 问题答案: 这是我的缓

  • 背景 我在屏幕上放置了一个图像,用于在屏幕加载其他内容时显示。 我想使图像居中,这样它在所有设备上都是居中的。 问题 目前,图像显示在顶部中心。我希望它也垂直对齐。还要确保它在所有设备上看起来始终相同。 问题 确保图像始终居中并且所有设备的尺寸都正确的解决方案是什么? 例子, 我当前的代码, 在Photoshop中 图像为 300 分辨率 高度为 776 px 宽度为 600 px 我希望图像在所

  • 问题内容: 我有一个React应用,可以调用我的API,该API返回URL列表以用作imy图像src。 我用来显示图像加载时的加载微调组件。 我有一个变量来确定图像是否正在加载。 我无法弄清楚如何停止显示正在加载的微调器,并在它们全部加载后显示图像。 这是我的代码: Photos.jsx Photo.jsx 我尝试将我的最后一项用于,但是它永远不会被调用,因为由于仍然显示了微调框,所以它从未设置为

  • 我的迭代器 我的绘图方法

  • 问题内容: 我正在读取一个JSON文件,其中包含某些人的名称和图像URI。在遍历结构时,我可以打印名称,但无法显示图像。我也看到了那个阵营不支持动态图像,所以我做了一个解决办法的建议在这里。 JSON格式 主要成分 问题答案: 根据您期望的图像数量,您可以尝试将文件放置在文件夹中,如下所示: 然后在您的中,如果您要剪裁 资产:/中的 部分字符串,则可以使用: 如果要处理大量图像,则文件将变得难以维

  • 我试图用Kotlin构建一个使用Kotlin的简单应用程序。随机的GraalVM本机映像上的随机类。但这在运行时失败。见下文。 作为解决方法,您可以使用java标准java.util.Random类。 有人能告诉我怎么用Kotlin型吗? 应用程序。kt 文档 运行时错误 这里是最小的工作示例项目