许多Android手机,如Google Pixel 3和小米Mix2等,没有任何屏幕上或物理导航按钮,它们通过手势工作。在React-Native中,这是一个巨大的问题,因为在现代设备上,如果我检测到屏幕的高度,就会从底部留下一些空白屏幕。
我尝试过这个解决方案,它在有硬件或屏幕按钮的设备上工作得很好,但对于没有按钮的现代设备,它会返回null。Determine whether hardware buttons are drawn on screen in React Native
我当前的RN版本: 0.59.5
发布于 2019-05-16 19:19:43
好的,你可以使用react-native-device-info来收集移动设备模型和其他细节,你可以过滤掉那些不支持屏幕上或硬件后退按钮的现代移动设备,并用你的自定义代码片段来处理这些移动设备。
我猜想你正在使用来自React Native Api的Flexbox和Dimensions来处理你的应用程序的响应。
另外,如果你能分享你到目前为止使用的UI屏幕截图和代码库,那会更好。
发布于 2019-06-10 11:34:29
您可以比较设备和窗口(可用)高度之间的差异:
import {Dimensions} from 'react-native';
let deviceHeight = Dimensions.get('screen').height;
let windowHeight = Dimensions.get('window').height;
let bottomNavBarHeight = deviceHeight - windowHeight;
if (bottomNavBarHeight > 0) {
// onscreen navbar
} else {
// not onscreen navbar
}https://stackoverflow.com/questions/56166230
复制相似问题