Собственный размер пикселей (как игнорировать соотношение пикселей)
Для простого проекта, который будет развернут на определенных устройствах, мне интересно, возможно ли указать измерения с использованием собственных пикселей, следовательно, игнорируя dpi устройства (которое может, например, быть переопределено пользователем в Windows на системном уровне).
В настоящее время единственное решение, по-видимому, делит любое значение для отношения пикселей.
Есть ли более простой, следовательно, более управляемый способ?
1 ответ
React Native поставляется с модулем PixelRatio, который имеет метод, называемый get
, Вы должны вручную разделить все ваши измерения на соотношение пикселей.
- Начните с количества физических пикселей.
- Разделите его на соотношение пикселей (
PixelRatio.get()
), чтобы получить соответствующее количество логических пикселей. - Используйте количество логических пикселей в
StyleSheet.create
и другие методы, связанные с макетом. - React Native и базовые собственные структуры пользовательского интерфейса преобразуют логические пиксели обратно в физические пиксели.
Вы можете написать вспомогательный метод для этого, если он станет утомительным. Это идея для API:
StyleSheet.create({
box: {
width: physical(100),
height: physical(75),
},
});
Хотя большую часть времени вы должны работать с логическими пикселями. Только когда вы хотите точно контролировать аппаратный экран или взаимодействуете с системой без понятия масштаба экрана (например, извлекаете изображение JPEG), вы можете работать с физическими пикселями.