【发布时间】:2021-02-04 00:40:03
【问题描述】:
我正在使用 React Native 0.63。我想在手机设备存储中的 FlatList 中显示图像,并使用 <Image/> 作为 FlatList 的 renderItem 属性。
使用 source 道具,我添加了一个 uri 键,但我仍然无法看到图像。图像图块正在 FlatList 中生成,当我尝试滚动列表时,我能够看到右侧的细滚动条。
这就是我正在做的显示图像。 (这里使用的uri 是我从CameraRoll.getPhotos() API 获得的图像)
<Image
source={{ uri: 'file:///storage/emulated/0/Pictures/Twitter/20201019_160855.jpg'}}
style={{ height: 100, width: 100 }}
/>
我已经确定了以下几点:
- 允许应用程序拥有
READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE权限。 - 为文件添加了
file://前缀。 - 确保
<Image/>中的source={{ uri: ... }}可用于外部链接,尝试使用Google 徽标、来自互联网的随机jpeg。
我注意到的另一件事是,我在遇到此问题的设备上使用的是装有 Android 10 的三星手机。我尝试在 Google Nexus 5 Android Emulator 上运行它,它也可以在 Android 10 上运行并且运行良好(通过这个,我的意思是我能够访问模拟器的设备存储,而不是使用上面指定的完全相同的 uri)。
更新: 尝试在 Android 7 上编译应用程序,上面的东西工作正常。 SDK 版本有任何问题吗?
【问题讨论】:
标签: android image react-native android-emulator