底部对话框打开时如何防止键盘关闭?
Posted
技术标签:
【中文标题】底部对话框打开时如何防止键盘关闭?【英文标题】:How to prevent keyboard from closing when bottom dialog is open? 【发布时间】:2018-02-18 19:06:40 【问题描述】:有没有办法不关闭键盘,而只是显示键盘的对话框(在它上面)。对话框关闭后我需要继续打字而不用再次打开键盘吗?
这个对话框是 BottomDialogSheet 的简单子对话框:
public class BottomPage extends BottomSheetDialog
public BottomPage(@NonNull Context context)
super(context);
View v = View.inflate(context, R.layout.layout_bottom_sheet, null);
setContentView(v);
我已经实现了用其他布局覆盖键盘的弹出窗口,但是当我第一次打开弹出窗口然后按编辑文本以显示键盘时出现同样的问题 - 弹出窗口隐藏,键盘显示。如何防止它,并让键盘显示而不隐藏弹出窗口?
【问题讨论】:
看看这个; ***.com/questions/9577304/… 【参考方案1】:你不能这么简单。你必须得到window
和keybord
高度才能做到这一点。
看看这个库并制作你自己的: https://github.com/ankushsachdeva/emojicon
【讨论】:
我有键盘高度,我的实现和那个库一样。实际上在库中与键盘隐藏相同的问题。我不知道如何使键盘不隐藏自身并在屏幕上显示带有键盘的对话框,但被对话框或弹出窗口覆盖 获取一个窗口对象并在那里添加你的视图它不会影响键盘 在不征得用户许可的情况下,我找不到方法...有更简单的方法吗?【参考方案2】:使用以下代码将键盘保持在屏幕上。
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
使用 setSoftInputMode() 的参数来获得一些其他效果。
【讨论】:
以上是关于底部对话框打开时如何防止键盘关闭?的主要内容,如果未能解决你的问题,请参考以下文章
"当网页打开时弹出确认对话框,点击确定网页找开,否则网页关闭"怎样用javascript语句写?