У вас есть PixelRatio
и Dimensions
для этой цели в React Native. Наряду с этим вам необходимо использовать модуль RN react-native-pixel-perfect
, благодаря чему пиксель вашего приложения будет идеальным на всех устройствах, быстро и легко
import {PixelRatio, Dimensions} from 'react-native';
import {create} from 'react-native-pixel-perfect';
let displayProps = {
width: PixelRatio.roundToNearestPixel(
Dimensions.get('window').width * PixelRatio.get(),
),
height: PixelRatio.roundToNearestPixel(
Dimensions.get('window').height * PixelRatio.get(),
),
};
let perfectSize = create(displayProps);
Теперь всегда передавайте свой размер в пикселях этому методу, чтобы получить оригинальное устройство. пикселей на основе устройств.
const styles = StyleSheet.create({
container: {
width: perfectSize(500),
height: perfectSize(300)
}
});
Ваш контейнер будет корректно адаптироваться к устройствам. На основе их разрешения экрана.
В случае, если у вас есть минимальная высота x ширина для поддержки, но некоторые устройства меньше, чем минимальное разрешение экрана, и вы все равно хотите добиться тех же результатов на этих устройствах. Затем вы можете установить минимальное разрешение экрана для этой функции, как показано ниже.
let displayProps = {
width: PixelRatio.roundToNearestPixel(
Math.max(1920, Dimensions.get('window').width * PixelRatio.get()),
),
height: PixelRatio.roundToNearestPixel(
Math.max(1080, Dimensions.get('window').height * PixelRatio.get()),
),
};
Так что в моем случае, если разрешение экрана меньше, чем 1920x1080, скажем, устройства 720p, то это поможет визуализировать пользовательский интерфейс в 1920x1080.