反应本机检查平板电脑或屏幕英寸

问题描述:

我已经为平板电脑和移动设备建立了不同的呈现逻辑。我想知道是否有办法以获得屏幕尺寸的英寸或甚至任何模块自动检测设备是否表是否反应本机检查平板电脑或屏幕英寸

我之所以不直接使用尺寸api来获得屏幕分辨率,是因为有许多android平板电脑的分辨率低于许多移动平板电脑。

感谢

请参考下面的文档

http://facebook.github.io/react-native/releases/0.42/docs/dimensions.html#dimensions

它有助于充分得到了屏幕的高度和宽度

+0

我怕你没有读完整个问题。 –

您可以用尺寸API一起使用react-native-device-info包。检查isTablet()方法并根据结果应用不同的样式。

+0

嘿马丁,我只是看着包,我意识到,即使它适用于苹果设备,Android的逻辑也是基于屏幕分辨率。如果你不介意的话,我会用你的答案和我自己的答案合并。 –

+0

当然,如果你可以发布你的最终解决方案,这也会有所帮助:) – martinarroyo

根据@ martinarroyo的回答,一种方法去使用react-native-device-info包。

但是,android实现基于屏幕分辨率。这可能是一个问题,因为许多平板设备的分辨率比许多移动设备的分辨率低,这可能会导致问题。

我将使用和我建议的解决方案是使用react-native-device-info苹果设备和Android设备与类型的简单比率逻辑去:

function isTabletBasedOnRatio(ratio){ 

if(ratio > 1.6){ 
    return false; 
}else{ 
    return true; 
} 

} 

这不是一个完美的解决方案,但也有很多具有phonelike比率的小型平板电脑甚至是平板电脑(android是模糊的),并且这些解决方案对于这些也是包容性的。