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

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

相关推荐
HealthScience2 小时前
【Bib 2026】基因最新综述(有什么任务、benchmark、代表性模型)
android·开发语言·kotlin
夏沫琅琊3 小时前
Android拨打电话技术文档
android·kotlin
a2591748032-随心所记3 小时前
android studio gradle快速编译配置
android·android studio
一块小土坷垃4 小时前
# 《电影猎手》观影伴侣:一款支持iOS/安卓/电视盒子的全平台影视工具“电影猎手”(附自用评价)
android·ios·电视盒子
敲代码的鱼哇5 小时前
发送短信/拨打电话/获取联系人能力 UTS 插件(cz-sms)
android·前端·ios·uni-app·安卓·harmonyos·鸿蒙
用户5052372099156 小时前
Android 13/14 通知权限与前台服务适配指南
android
用户5052372099156 小时前
Android 12 适配指南:SplashScreen API 与 PendingIntent 变更
android
用户5052372099156 小时前
一张表看懂 Android 8-15 所有适配要点
android
_祝你今天愉快6 小时前
Android 12 (AOSP) 添加自定义系统服务
android
程序员陆业聪9 小时前
AI编码提效实战:Skill、Rule与上下文工程
android