【问题标题】: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);
    }
}

我已经实现了用其他布局覆盖键盘的弹出窗口,但是当我第一次打开弹出窗口然后按编辑文本以显示键盘时出现同样的问题 - 弹出窗口隐藏,键盘显示。如何防止它,并让键盘显示而不隐藏弹出窗口?

【问题讨论】:

标签: android dialog keyboard bottom-sheet


【解决方案1】:

你不能这么简单。你必须得到windowkeybord 高度才能做到这一点。

看看这个库并制作你自己的: https://github.com/ankushsachdeva/emojicon

【讨论】:

  • 我有键盘高度,我的实现和那个库一样。实际上在库中与键盘隐藏相同的问题。我不知道如何使键盘不隐藏自身并在屏幕上显示带有键盘的对话框,但被对话框或弹出窗口覆盖
  • 获取一个窗口对象并在那里添加你的视图它不会影响键盘
  • 在不征得用户许可的情况下,我找不到方法...有更简单的方法吗?
【解决方案2】:

使用以下代码将键盘保持在屏幕上。

 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

使用 setSoftInputMode() 的参数来获得一些其他效果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 2022-01-22
    相关资源
    最近更新 更多