首页 文章

无法在本机android中加载静态图像

提问于
浏览
0

我最近开始在已有的Android应用程序中集成react native . 我尝试了多种图像加载样式,如页面所述https://facebook.github.io/react-native/docs/images.html

方法1(混合应用程序):对于Android使用 <Image source={{uri: 'asset:/app_icon.png'}} style={{width: 40, height: 40}} /> 此方法不会在应用程序上加载任何内容,只加载40X40空白区域 .

方法2: <Image source={require('./my-icon.png')} /> 我使用了图像 app/res/drawable-hdpi/image.png 的绝对路径,但它也没有用 .

得到了错误

Unable to resolve module `../app/res/drawable-hdpi/image.png` from 
`/Users/MyName/StudioProjects/reatProject/android/react-native/index.js`: could not resolve 
`/Users/MyName/StudioProjects/reatProject/android/app/res/drawable-hdpi/image.png' as a file nor as a folder

我总是在样式图中提供高度和宽度属性 .

我的项目结构是

android/
  app/
    res/
    src/
    tests/
  react-native/
    index.js
    package.json
    package.lock.json
  tests/
  build.gradle

项目 build.gradle 文件将maven存储库包含为maven { url "$rootDir/react-native/node_modules/react-native/android" }

我发布了这个问题作为反应原生github问题的问题,但没有解决方案,所以问这里是否有人经历过同样的问题 . 我对原生的反应相当新,所以也许我做错了 .

1 回答

  • 0

    我最终犯了一个错误 . 图像源必须是 {{uri:"name"}} 形式,我一直在写{{ uri:"name.png" }} . 它不接受此方案中的png,但在 asset://require 方案中,它确实如此 . 它只是有点混乱 .

    对于任何面临同样问题的人来说,相同的目录结构都可以工作,只需这样使用图像,并避免使用扩展 .

    <Image source={{uri:"imageName"}} style={{height:100, width:100}}/>
    

相关问题