RN问题解决策略华为手机虚拟按键的问题解决

如图键盘把输入框盖掉了,项目中使用的是,获取真实的键盘显示时的高度

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;
}

猜你喜欢

转载自blog.csdn.net/yeputi1015/article/details/80283793
今日推荐