cocosCreator2.4 Android 输入法遮挡

这里是 调用显示系统的输入法,然后在 Cocos2dxEditBox.java 创建UI,用于处理输入,这里可以看到会ui 会被系统的输入法遮挡,无法点击,是因为 计算ui位置时没有算上刘海区域,需要处理一下:

java 复制代码
        private int getTopSpecialHeight(Context context) {
            int result = 0;
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
                // 执行安全区域检测
                WindowInsets windowInsets = getRootView().getRootWindowInsets();
                if (windowInsets != null) {
                    DisplayCutout displayCutout = windowInsets.getDisplayCutout();
                    if (displayCutout != null) {
                        return displayCutout.getSafeInsetTop();
                    }
                }
            }
            return result;
        }

然后修改 Cocos2dxEditText.this.setTopMargin(r.bottom); 为:

java 复制代码
        int delta = getTopSpecialHeight(getContext());
        Cocos2dxEditText.this.setTopMargin(r.bottom-delta);

其它网上还有一个解决方案:CocosCreator安卓原生平台手机输入法遮挡文本输入框

这个方案是将游戏整个页面上抬,但是我这边测试有时上抬刘海高度,有时上台键盘高度那么高。而我们有些玩法的输入框在游戏顶部区域就导致完全看不到输入的是什么内容。

相关推荐
zzywxc7871 小时前
AI 行业应用:金融、医疗、教育、制造业领域的落地案例与技术实现
android·前端·人工智能·chrome·金融·rxjava
sTone873751 小时前
android studio之外使用NDK编译生成android指定架构的动态库
android·c++
胖虎12 小时前
Android 入门到实战(三):ViewPager及ViewPager2多页面布局
android·viewpager·viewpager2
风往哪边走4 小时前
Media3在线本地视频播放器
android
激昂网络4 小时前
android kernel代码 common-android13-5.15 下载 编译
android·大数据·elasticsearch
Monkey-旭4 小时前
Android 人脸识别技术全解析
android·android 人脸识别·ml kit 实战·活体检测技术·人脸识别性能优化·人脸考勤系统·移动端人脸特征提取
vivo互联网技术5 小时前
桌面挂件不能承受之重——GIF
android·gif加载·桌面挂件
JulyYu6 小时前
Android系统保存重名文件后引发的异常解决
android·操作系统·源码
叽哥6 小时前
Kotlin学习第 2 课:Kotlin 基础语法:掌握变量、数据类型与运算符
android·kotlin·app