当 AppTheme 为半透明时,软键盘与 EditTextPreferenceDialogFragmentCompat 重叠
Posted
技术标签:
【中文标题】当 AppTheme 为半透明时,软键盘与 EditTextPreferenceDialogFragmentCompat 重叠【英文标题】:Soft keyboard overlaps EditTextPreferenceDialogFragmentCompat when AppTheme is Translucent 【发布时间】:2017-04-17 03:06:57 【问题描述】:使用
最新的 V14 首选项支持库。
半透明主题在 API > 19
EditTextPreferenceCompat 在 PreferenceFragmentCompat
内问题
点击 EditTextPreferenceCompat 之后弹出 EditTextPreferenceDialogFragmentCompat 控件被软键盘重叠,这是错误的:
如果我使用 non 半透明主题或 API 如果我使用普通 DialogFragment with 半透明主题 - 一切都很好。我尝试了什么?
https://github.com/Gericop/android-Support-Preference-V7-Fix图书馆 手动设置窗口的adjust_resize/adjust_pan(但我认为它不适用于半透明/全屏) 禁用/启用半透明。它有效,但 = 不适合我。有什么解决方法吗?
【问题讨论】:
半透明主题在这里搞砸了。也许试试这个解决方案:***.com/questions/7417123/… @R.Zagórski 普通 DialogFragments 与半透明主题配合良好 - 所以我认为它仅与 V14 实现有关 @localhost 可能半透明主题覆盖了 onConfigurationChanged。当您覆盖 onConfigurationChanged 时,通常会发生此行为。你能用显示错误的代码在 github 上创建一个存储库吗?所以我可以做一些测试。 【参考方案1】:半透明/全屏会导致adjust_resize不起作用。如果你得到软键盘的高度可以帮助你解决问题,你可以通过软键盘的高度来改变视图的高度。但是google并没有开放获取软键盘高度的api。一种方法是设置一个视图树监听器。
【讨论】:
【参考方案2】:有同样的问题。
尝试将这一行添加到 AppTheme
<item name="android:dialogTheme">@style/Theme.AppCompat.Light.Dialog</item>
或通过 DialogFragment 中的 setStyle 方法。
您可以选择您想要的任何其他对话框主题。
【讨论】:
以上是关于当 AppTheme 为半透明时,软键盘与 EditTextPreferenceDialogFragmentCompat 重叠的主要内容,如果未能解决你的问题,请参考以下文章
有没有修改过android 4.22 NavigationBar的黑色背景为半透颜色