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安卓原生平台手机输入法遮挡文本输入框

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

相关推荐
游戏开发爱好者810 分钟前
2025年iOS应用上架App Store全指南,开发者必看
android·ios·小程序·https·uni-app·iphone·webview
a31582380617 分钟前
Android CardView修改背景阴影
android·cardview·修改背景
kk哥889937 分钟前
Android UI 优化指南:流畅度与体验双提升
android·ui
摘星编程2 小时前
Flutter for OpenHarmony 实战:SliverList 滑动列表详解
android·javascript·flutter
abbiz2 小时前
30 个 Android 面试高频问题及答案
android·面试·职场和发展
冬奇Lab2 小时前
【Kotlin系列04】类与对象基础:从Java Bean到Data Class的优雅蜕变
android·kotlin·编程语言
笔夏2 小时前
【安卓学习之webRTC】学习相关资料
android·学习·webrtc
_李小白2 小时前
【Android 美颜相机】第三天:初识GPUImageView
android·数码相机
行稳方能走远2 小时前
Android java 学习笔记3
android·java
Larry_Yanan2 小时前
Qt安卓开发(二)摄像头打开
android·开发语言·数据库·c++·qt·ui