问题描述
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>