我在android:windowSoftInputMode="adjustNothing"
中设置了AndroidManifest
的MainActivity。主题有父Theme.AppCompat.Light.NoActionBar
。我在此活动中添加了一个DialogFragment,并在其中显示AlertDialog,然后在片段中设置alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
。
现在,在Android 5.1.1上它按预期工作。创建对话框时,键盘不会自动显示。当用户点击对话框内的EditText时,键盘会弹出并调整活动大小,使其不会重叠。
问题是在Android M上,这并没有发生。创建对话框时确实没有显示键盘,但是当用户触摸EditText后弹出键盘时,它会重叠对话框。
知道为什么会在M上发生这种情况,但在之前的版本中一切正常吗?
编辑:显然在创建了一个只包含问题基础知识的HelloWorld项目之后,我发现下面的2个Activity Theme元素会导致键盘无法调整大小。如果有人对此事有任何永久的解决方案,我会全部听到(或者更确切地说是眼睛)。
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:windowTranslucentStatus">true</item>
</style>
答案 0 :(得分:2)
我发现活动主题中的以下两行导致键盘无法调整大小。
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:windowTranslucentStatus">true</item>
</style>
目前,这是一个快速解决方案。如果任何人有永久解决方案可能保留这两行但也解决问题,请发布另一个答案。