Собственный размер пикселей (как игнорировать соотношение пикселей)

Для простого проекта, который будет развернут на определенных устройствах, мне интересно, возможно ли указать измерения с использованием собственных пикселей, следовательно, игнорируя dpi устройства (которое может, например, быть переопределено пользователем в Windows на системном уровне).

В настоящее время единственное решение, по-видимому, делит любое значение для отношения пикселей.

Есть ли более простой, следовательно, более управляемый способ?

1 ответ

React Native поставляется с модулем PixelRatio, который имеет метод, называемый get, Вы должны вручную разделить все ваши измерения на соотношение пикселей.

  1. Начните с количества физических пикселей.
  2. Разделите его на соотношение пикселей (PixelRatio.get()), чтобы получить соответствующее количество логических пикселей.
  3. Используйте количество логических пикселей в StyleSheet.create и другие методы, связанные с макетом.
  4. React Native и базовые собственные структуры пользовательского интерфейса преобразуют логические пиксели обратно в физические пиксели.

Вы можете написать вспомогательный метод для этого, если он станет утомительным. Это идея для API:

StyleSheet.create({
  box: {
    width: physical(100),
    height: physical(75),
  },
});

Хотя большую часть времени вы должны работать с логическими пикселями. Только когда вы хотите точно контролировать аппаратный экран или взаимодействуете с системой без понятия масштаба экрана (например, извлекаете изображение JPEG), вы можете работать с физическими пикселями.

Другие вопросы по тегам