如何在 react-native / expo 中使用 Dimensions 获得真实的屏幕分辨率并设置应用程序的样式?
How to get real screen resolution using Dimensions in react-native / expo and style the app?
我正在开发 react-native/expo 应用程序。
昨天我到了造型阶段,了解到
Dimensions.get('window').width
returns 我的设备实际宽度的一半(一个 android,一个 iPad),但是模拟 android 设备的实际宽度。
它看起来像物理设备 运行 某些 half/half 分辨率模式下的应用程序。
不用说,它完全破坏了我为应用程序设置样式的想法,因为我使用 EStyleSheet(react-native-extended-stylesheet)构建动态样式,这取决于 Dimensions 获得的值以及 maxWidth 没有多大意义,是吗?
是否有任何方法可以将 react-native/expo 应用强制为 运行“全分辨率”?
谢谢!
如果您正在考虑为什么在设备的屏幕分辨率为 1080p 时得到 420 宽度,答案是 React Native 使用与密度无关的像素作为测量单位。尺寸 api 也是 returns 基于像素的密度独立值,而不是屏幕分辨率。
您唯一应该担心的是状态栏和导航栏。
您可以阅读这些答案以获得明确的答案:
(此外,React Native 不希望您再使用 Dimensions api。您可以使用 useWindowDimensions,因为它会在屏幕旋转时发生变化等)
Height and Width - React Native Docs
Android Navigation Bar height React-Native
我正在开发 react-native/expo 应用程序。 昨天我到了造型阶段,了解到
Dimensions.get('window').width
returns 我的设备实际宽度的一半(一个 android,一个 iPad),但是模拟 android 设备的实际宽度。 它看起来像物理设备 运行 某些 half/half 分辨率模式下的应用程序。
不用说,它完全破坏了我为应用程序设置样式的想法,因为我使用 EStyleSheet(react-native-extended-stylesheet)构建动态样式,这取决于 Dimensions 获得的值以及 maxWidth 没有多大意义,是吗?
是否有任何方法可以将 react-native/expo 应用强制为 运行“全分辨率”?
谢谢!
如果您正在考虑为什么在设备的屏幕分辨率为 1080p 时得到 420 宽度,答案是 React Native 使用与密度无关的像素作为测量单位。尺寸 api 也是 returns 基于像素的密度独立值,而不是屏幕分辨率。
您唯一应该担心的是状态栏和导航栏。 您可以阅读这些答案以获得明确的答案:
(此外,React Native 不希望您再使用 Dimensions api。您可以使用 useWindowDimensions,因为它会在屏幕旋转时发生变化等)
Height and Width - React Native Docs
Android Navigation Bar height React-Native