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

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

相关推荐
小驰行动派6 分钟前
Android Studio中,使用完全免费的Ai来写APP
android·ide·android studio
笔夏35 分钟前
【安卓学习之socket】socket.io-client
android·学习
用户94261184462911 小时前
Android开发实战:ListView与RecyclerView使用详解
android
梦里花开知多少1 小时前
深入解析Launcher3 中的 CellLayout
android·面试
WangJunXiang61 小时前
MySQL高可用详细解析
android·数据库·mysql
fengci.1 小时前
polar2026春季个人挑战赛(中等部分)
android
黑马源码库miui520861 小时前
JAVA国际版同城上门服务上门送水桶装水配送源码同城上门配送系统源码支持Android+IOS+H5
android·java·ios
黄林晴2 小时前
无奈妥协!六年账号被迫改名,Android 技术圈顺势升级 !
android·运营
2501_915921432 小时前
iPhone 定位功能测试时不越狱来修改手机位置的方法
android·ios·智能手机·小程序·uni-app·iphone·webview
常利兵2 小时前
Android开发秘籍:给图片加上独特水印
android