Dimensions.get('screen').width
为320
返回宽度iPad simulator
。
无论我尝试在模拟器中使用哪种iPad设备,它都会返回 一个320 x 480的屏幕和窗口分辨率
。
我在这里做错了什么,或者这只是在模拟器中不能正常工作?
答案 0 :(得分:1)
感谢@Dani Akash,我想我找到了一个适合我在这里尝试的解决方案。 React Native: How to Determine if Device is iPhone or iPad
建议是使用宽高比来确定它是否是平板电脑。
import { Dimensions } from 'react-native';
const {height, width} = Dimensions.get('window');
const aspectRatio = height/width;
if(aspectRatio>1.6) {
// Code for Iphone
}
else {
// Code for Ipad
}
答案 1 :(得分:0)
反应原始宽度& height是与密度无关的像素,而不是普通像素。
为什么要使用density-independent pixels?
智能手机设备的尺寸太多。无论屏幕尺寸如何,组件看起来都应该相同。
以这种方式设置尺寸对于应该应用的组件是常见的 无论屏幕如何,始终以完全相同的大小渲染 尺寸。
对于大多数情况,您只需使用Layout with Flexbox。
答案 2 :(得分:0)
我知道这是事后的事,但你也可以使用getattr(),它有一个方法isTablet()。我不确定你使用的是什么版本的RN,但Dimensions.get('window')应该可以正常工作,我认为问题可能是你使用'screen'而不是'window'。