【问题标题】:react native, dynamic background image does not work反应原生,动态背景图片不起作用
【发布时间】:2021-08-03 01:32:51
【问题描述】:

我正在制作一个添加暗模式的应用,我的应用有一个“图像背景”,它应该根据手机的主题而改变。

我一直在尝试各种迄今为止对我不起作用的方法。我是原生反应新手,希望您能帮我找到解决方案。

这是我目前拥有的:

function HomeScreen(props){ 
      const scheme=useColorScheme();
      let imagen = "img/background.jpg";
      if(scheme === 'dark'){
        imagen = "img/blackfullblack.jpg";
    
      return (
        <ImageBackground fadeDuration={0} resizeMode = "stretch" style ={styles.container} 
          source = { require ("./" + imagen)} 
        > }
       ...etc...

首先,谢谢:)

【问题讨论】:

  • 没有ImageBackground 代码很难分辨
  • 也许您可以分享您设置为ImageBackground 的样式?通常,如果未设置 widthheight,就会发生这种情况
  • 欢迎来到 SO! “......到目前为止对我没有用的各种方法。” ——请您详细说明一下,好吗?在这些尝试中究竟是什么不起作用?请提供minimal reproducible example 和清晰的问题描述。谢谢。

标签: javascript react-native react-navigation jsx


【解决方案1】:

metro 不支持动态导入,因此您需要更改代码以使用静态导入,如下所示:

let imagen = require("./img/background.jpg");
if (scheme === 'dark'){
  imagen = require("./img/blackfullblack.jpg");
}

return <ImageBackground fadeDuration={0} resizeMode="stretch" style={styles.container} source={imagen} />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2016-12-12
    • 2020-07-06
    • 2015-10-04
    相关资源
    最近更新 更多