经过大量研究后,我发现 Android的Dimensions库不能像预期的那样工作.例如,每次我使用“Dimensions.get(‘window’).height”时,我会得到不同的结果. 这是在git上记录的: Dimensions.get(‘window’).h
这是在git上记录的:
Dimensions.get(‘window’).height is sometimes wrong on Android
解决方案是使用上面git链接中提到的“getRealDimensions”库.
这是the link to the ‘getRealDimensions’但它是用java编写的,我不知道如何将它实现到我的react-native android项目中.
摘要
如何在我的react-native android项目中实现’getRealDimensions’库?
谢谢.
对于那些仍在努力解决这个问题的人来说,这是我能给出的一个小小的见解.首先,API react-native(0.54)似乎对Android来说是稳定的,对Dimensions.get(‘window’)的调用每次都返回相同的值(至少从我看到的).但是在Android上,此调用返回的高度是带有状态栏的屏幕(即屏幕顶部带有wifi图标和通知的栏).
第二,如果你只想获得没有软菜单栏的屏幕高度,只需调用StatusBar.currentHeight并从Dimensions.get(‘window’).height给出的高度中减去该值.
这种方法相当容易,并且避免依赖于另一个包(即使react-native-extra-dimensions-android非常好).
最后,如果您需要屏幕的总大小,请查看Dimensions.get(‘screen’),请参阅What’s the difference between ‘window’ and ‘screen’ in the Dimensions API
干杯