如图键盘把输入框盖掉了,项目中使用的是,获取真实的键盘显示时的高度
react-native-extra-dimensions-android
解决方法:
ExtraDimensionsModule.java中修改,加入红色部分。。
因为普通项目中使用此插件不会有问题,因为我们的项目中执行了两个createReactManager,解决了两次getPackages...固引发血案发生,这里存档下
private float getSoftMenuBarHeight(DisplayMetrics metrics) { final float realHeight = getRealHeight(metrics); final Context ctx = getReactApplicationContext(); final DisplayMetrics usableMetrics = ctx.getResources().getDisplayMetrics(); ((WindowManager) mReactContext.getSystemService(Context.WINDOW_SERVICE)) .getDefaultDisplay().getMetrics(metrics); final int usableHeight = usableMetrics.heightPixels; float result = Math.max(0, realHeight - usableHeight / metrics.density); DisplayMetricsHolder.initDisplayMetrics(mReactContext); return result; }