React-Native Android - 如何使用getRealDimensions(尺寸不起作用)

Lar*_*ney 5 android react-native react-native-android

经过大量研究后,我发现Android的Dimensions库不能像预期的那样工作.例如,每次我使用"Dimensions.get('window').height"时,我会得到不同的结果.

这是在git:
Dimensions.get('window')上记录的.在Android上,高度有时是错误的

解决方案是使用上面git链接中提到的"getRealDimensions"库.

这是'getRealDimensions'的链接,但它是用java编写的,我不知道如何将它实现到我的react-native android项目中.

总结
如何在我的react-native android项目中实现'getRealDimensions'库?

谢谢.

poo*_*let 5

对于那些仍在努力解决这个问题的人来说,这是我能给出的一个小小的见解.

首先,API react-native(0.54)似乎对Android来说是稳定的,Dimensions.get('window')每次调用返回相同的值(至少从我看到的).在Android上,height此调用返回的是具有状态栏的屏幕(即屏幕顶部的栏带有wifi图标和通知).

第二,如果你想只获得屏幕的高度而没有软菜单栏,只需调用StatusBar.currentHeight并从给定的高度中减去该值Dimensions.get('window').height.

这种方法相当简单,避免了对另一个包的依赖(尽管react-native-extra-dimensions-android非常好).

最后,如果您需要查看屏幕的总大小Dimensions.get('screen'),请参阅Dimensions API中"窗口"和"屏幕"之间的区别

干杯


Lar*_*ney 3

对于遇到同样问题的人,这里是解决方案。真正的解决方案是react-native-extra-dimensions-android库。

该项目之前由 GitHub 用户Jaysoo维护,但现在由 Github 用户Sunhat维护

只需安装即可

npm install react-native-extra-dimensions-android --save
Run Code Online (Sandbox Code Playgroud)

您可能需要重新编译项目

图书馆现已投入使用!