2

我有一个 MainActivityandroid:windowSoftInputMode="adjustNothing"设置在AndroidManifest. 主题有父级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 个活动主题元素导致键盘无法调整大小。如果有人对此事有任何永久解决方案,我会全神贯注(或者更确切地说是眼睛)。

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:windowTranslucentStatus">true</item>
</style>
4

1 回答 1

2

我发现活动主题中的以下 2 行会导致键盘无法调整大小。

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:windowTranslucentStatus">true</item>
</style>

目前,这是一个快速修复。如果有人有永久解决方案来保留这两条线但也可以解决问题,请发布另一个答案。

于 2015-06-13T09:53:25.827 回答