📅  最后修改于: 2023-12-03 15:04:49.303000             🧑  作者: Mango
React Native 提供了Image
组件来加载和显示图片。以下是几个常用的用例。
要加载本地图片,需要在工程目录中创建一个名为assets
的文件夹,然后在其中放置要使用的图片。
import React from 'react';
import { View, Image } from 'react-native';
const App = () => {
return (
<View>
<Image
source={require('./assets/my-image.png')}
style={{ width: 200, height: 200 }}
/>
</View>
);
}
export default App;
在上面的代码片段中,我们首先导入了Image
组件,然后在组件中使用require
函数来加载my-image.png
图片文件。最后将Image
组件呈现在View
组件中,设置它的宽和高为200。这会将图片加载显示出来。
要加载网络图片,只需要将图片的 URL 作为source
属性的值即可。
import React from 'react';
import { View, Image } from 'react-native';
const App = () => {
return (
<View>
<Image
source={{ uri: 'https://example.com/my-image.png' }}
style={{ width: 200, height: 200 }}
/>
</View>
);
}
export default App;
在上面的代码片段中,我们将uri
属性设为图片的 URL,然后设置Image
组件的宽和高为200。React Native 会自动将图片下载并缓存到设备上。
可以通过以下方式来调整图片的大小:
<Image
source={require('./assets/my-image.png')}
style={{ width: 200, height: 200 }}
/>
在上面的代码片段中,我们将style
属性传递给Image
组件,并将它的宽和高都设为200。这会将图片缩放为指定大小。
可以使用resizeMode
属性来调整图片的裁剪方式。以下是几个可用的选项。
| 值 | 描述 |
| --- | --- |
| cover
| 将图片按比例缩放到容器尺寸内,然后居中裁剪多余的部分 |
| contain
| 将图片按比例缩放到容器尺寸内,然后居中显示 |
| stretch
| 拉伸图片以填充整个容器 |
| repeat
| 将图片平铺以填充整个容器 |
以下是一个使用cover
模式的代码片段:
<Image
source={require('./assets/my-image.png')}
style={{ width: 200, height: 200, resizeMode: 'cover' }}
/>
React Native 使用ImageCacheManager
组件来缓存已下载的图片。可以通过以下方式来使用它:
import { ImageCacheManager } from 'react-native-cached-image';
const manager = ImageCacheManager();
manager.downloadAndCacheUrl('https://example.com/my-image.png')
.then(res => {
console.log('图片已缓存。');
})
.catch(err => {
console.log('图片缓存失败。');
});
在上面的代码片段中,我们首先导入了ImageCacheManager
组件,然后创建了一个名为manager
的变量。接下来,我们调用downloadAndCacheUrl
方法并将图片的 URL 作为参数传入。最后,我们使用then
和catch
方法来处理成功和失败的情况。
React Native 的Image
组件是加载和显示图片的主要方式。可以使用它来加载本地和网络图片,并控制图片的大小和裁剪方式。同时可以使用ImageCacheManager
组件来缓存已下载的图片。