我正在开发一个React原生应用程序。我从API中获取一些图片,并将它们显示为平面列表。问题是这些图片在***ios***模拟器上显示完美,但在***android***模拟器上却无法显示。我已经设置了图片的宽度和高度,但问题仍然存在。
下面是代码
组件
<Image
style={styles.image}
source={{
uri: image,
}}
resizeMode="contain"
/>
样式
container__image: {
width: '100%',
},
image: {
width: '100%',
height: 200,
resizeMode: 'contain',
},
uri
前面的image
是包含图像的http
地址的属性。
6条答案
按热度按时间voj3qocg1#
我不依赖
Android
模拟器处理来自URL的图像,特别是那些来自API的图像。然而,我注意到
iOS
模拟器在这方面给出了与iPhone
类似的结果,而Android
则不是这样。将其存储在手机上的store
逻辑/AsyncStorage
中我注意到,真实的的Android
设备显示的图片比Android
模拟器多得多。我花了很长时间才弄明白为什么 * 图像在Android上不起作用,但在iOS* 上却起作用,并有很多关于Stack Overflow的主题。显然,它们确实起作用,但在真实的设备上...是的,在调试过程中,我检查了http
和https
。这些映像是通过https
提供的。我还设置了width
和height
。有点令人沮丧,但我很好奇,如果有更多的人经历了这个问题。
8oomwypt2#
也许这看起来是一个问题,因为
Android
不允许http
。请在按如下方式更改
Android
设置后构建新的Android
。hjzp0vay3#
你能解决这个问题吗?我也有同样的问题,我通过
1.封闭式Android模拟器
cd android && ./gradlew clean
1.在Android Studio设备管理器中擦除数据
并运行
react-native start --reset-cache && react-native run-android
lokaqttq4#
尝试在URI中用引号(单引号或双引号)括起direct link。这可能在android中有效,并且您的大小调整模式也必须包含在样式中。
7fhtutme5#
我也遇到过同样的问题,但当我退出模拟器中的应用程序并重新打开它时,一切都很好,尽管我想这不是最好的解决方案
vs3odd8k6#
可能是存储权限。
检查手机上的应用程序详细信息,并给予应用程序存储权限