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

将图像名称从obj设置为source React Native

石喜
2023-03-14

我如何尝试解决这个问题(我的解决截图),和错误图像(错误回复)

共有2个答案

蓬英逸
2023-03-14

我认为有4种简单的方法可以在图像组件中使用动态源:1)您可以使用已经捆绑到应用程序中的图像:

来自混合应用程序资源的图像
如果您正在构建混合应用程序(一些UI在React Native中,一些UI在平台代码中),您仍然可以使用已经捆绑到应用程序中的图像。

对于通过Xcode资产目录或Android drawable文件夹包含的图像,请使用不带扩展名的图像名称:

对于Android资产文件夹中的图像,请使用资产:/scheme:

这些方法不提供安全检查。由您来保证这些图像在应用程序中可用。您还必须手动指定图像尺寸。


https://facebook.github.io/react-native/docs/images.html#images-from-hybrid-app-s-resources2)可以在对象中使用要求('ImagePath')。

{
  "id_letter": "1",
  "name_letter":"A",
  "img_name":require('./app/assets/images/imgname.jpg');
}

3) 您可以将图像存储在web中,并可以使用:

<Image source={{uri: 'http: //site.com/app/assets/images/'+data.img_name}}/>

4)您可以使用库存储图像https://github.com/wkh237/react-native-fetch-blob.

董霖
2023-03-14

如果可以修改本地对象更改为这个

{
   "id_letter": "1",
   "name_letter": "A",
   "image" require("./app/assets/images/A.png")
}

然后组件更改为

<Image style={styles.letter_image} source={data.image} />

编辑另一个方法用例语句

不需要支持动态路径。使用switch case语句来解决这个问题

function getImage(img_name) {
  switch(img_name) {
    case "A.png": return require("./app/assets/images/A.png");
    case "B.png": return require("./app/assets/images/B.png");
  }
}

<Image style={styles.letter_image} source={getImage(data.img_name)} />
 类似资料:
  • 操作步骤: ①进入编辑地图页面点击左上方地图名称。 ②进入编辑状态。 ③编辑完成后,点击回车或是√,地图名称修改成功。 提示 ●地图名称不能少于2个字符。 操作动图: [查看原图]

  • null 那个代码有什么问题?我不明白为什么不能将ImageRi发送到ImageView。我还验证了我正在传递给setImageURI函数的Uri值是正确的。

  • 我试图给我的界面一个新的功能,但我遇到了一些障碍。当鼠标移动时,我想放大JLabel上的图像。以下是我的JLabels的外观: 代码一直在继续。我想创建一个函数并将其添加到mouseListener中,这样所有的行为都将相同。我想实现这一点: 但是我不知道我可以使用这个,因为java说我需要图像来创建我的放大图像图标 如何从代码中检索用于打包JLabel的图像。任何帮助都将不胜感激。

  • 问题内容: 我以这种方式定义状态: 我想写一个用于设置视图名称的基础 (如您在上面看到的,该视图的名称为空) 。 这是装饰器的代码: 当然,这是行不通的。我有点迷路了。 问题答案: 有一个工作的家伙 你快到了。让我们简化一下状态定义 (因为我们不需要嵌套的view对象,我们将在以后创建它) : 这将是装饰器: 在这里检查

  • 问题内容: 您可以在构建自定义图像时设置图像名称,如下所示: 有没有一种方法可以在Dockerfile中定义映像的名称,所以我不必在命令中提及它? 问题答案: Dockerfile中不支持图像的标记。这需要在您的构建命令中完成。解决方法是,您可以使用docker- compose.yml进行构建,以标识目标映像名称,然后运行。一个示例docker- compose.yml看起来像 就是说,有人反对

  • 我想为Nashorn提供一个函数,比如: 上面的代码不编译,因为需要一个对象,而lambdas不是对象。我如何将javascript名称设置为java函数? 编辑澄清: 在JavaScript中,我们可以这样写: 如果我用Java编写了,我如何将该函数分配给JavaScript变量?