cocos creator 安卓包 输入法遮挡问题

发布于:2024-04-11 ⋅ 阅读:(192) ⋅ 点赞:(0)

问题描述

修改后的效果.png

修改前的效果.png

Cocos Creator开发版本: v2.4.x

如上效果图。该需求是,进入游戏后,随机角色名,可以自己编辑。在未修改前 手机输入法遮挡了游戏的编辑框,导致无法直观展示,编辑的文字。尝试各种修改清单文件windowSoftInputMode属性和代码设置对应的属性,均不生效。单独写安卓demo一点问题都没有。很迷惑,顺着思路。逐步排查到Cocos2dxActivity里面。果然发现了问题所在。

解决方式

org.cocos2dx.lib.Cocos2dxActivity中onCreate(),删除window.setSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 即可

Cocos2dxActivity/onCreate(),原因是代码里面覆盖了AndroidManifest.xml的设置,问题到此解决。

Window window = this.getWindow () ;
//window.setSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
this.setVolumeControlStream(AudioManager.STREAM_MUSIC);

记得,清单文件配置首启动,一定要加 android:windowSoftInputMode=“adjustPan” 属性

        <activity
            android:name="org.cocos2dx.javascript.AppActivity"
            android:configChanges="screenSize|uiMode|screenLayout|orientation|keyboardHidden"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            android:windowSoftInputMode="adjustPan">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

网站公告

今日签到

点亮在社区的每一天
去签到