Перечисление ResizeMethod
Перечисление ResizeMethod работает только на Android
у компонента
Image.
Строку значения передают в параметр resizeMethod.
На iOS параметр игнорируют.
Режим вписывания по-прежнему задает
ResizeMode.
Синтаксис
resizeMethod="resize"
Значения
| Значение | Описание |
|---|---|
'auto' |
Система сама выбирает способ уменьшения. |
'resize' |
Меняет размер bitmap через программное масштабирование. |
'scale' |
Масштабирует при отрисовке без отдельного прохода resize. Может быть быстрее, но менее четко на некоторых размерах. |
Значение по умолчанию: 'auto'.
Пример
Давайте явно включим программное уменьшение на Android:
import { Image, Platform, StyleSheet } from 'react-native';
export default function App() {
return (
<Image
source={{ uri: 'https://example.com/a.png' }}
style={styles.pic}
resizeMode="cover"
resizeMethod={Platform.OS === 'android' ? 'resize' : undefined}
/>
);
}
const styles = StyleSheet.create({
pic: {
width: 80,
height: 80,
},
});
На экране Android картинка ужимается до маленькой рамки через 'resize'.
На iOS параметр не влияет на отрисовку.
Пример
Давайте сравним 'scale' для того же адреса:
import { Image, StyleSheet } from 'react-native';
export default function App() {
return (
<Image
source={{ uri: 'https://example.com/a.png' }}
style={styles.pic}
resizeMethod="scale"
/>
);
}
const styles = StyleSheet.create({
pic: {
width: 64,
height: 64,
},
});
На экране Android bitmap масштабируется при выводе без отдельного шага resize.
Смотрите также
-
перечисление
ResizeMode,
которое задает вписывание в рамку -
компонент
Image,
который рисует картинку на экране -
класс
Platform,
который подсказывает, Android или iOS -
метод
prefetch,
который заранее загружает большой файл