0

我正在尝试隐藏在底部工作表对话框片段中单击的底部的软键。我已经试过了:

    try {
        val view: View? = requireActivity().currentFocus
        if (view != null) {
            (requireActivity().getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager).hideSoftInputFromWindow(
                view.windowToken,
                0)
        }
    } catch (e: Exception) {
        Logger.e(TAG, "can't hide the softKey --> ${e.message}", e)
    }

购买它在底部工作表对话框中不起作用

4

2 回答 2

0

尝试以下操作:

    getDialog().getWindow().getDecorView().setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
于 2021-02-16T06:48:42.280 回答
0

你确定requireActivity().currentFocus不返回null吗?当我尝试您的代码时,这似乎总是会发生,如果确实如此,那么它什么都不做是有道理的。我建议以另一种方式查看。只要您在从onCreateView您返回后调用该函数,您就可以使用view(from getView()):

val imm = requireActivity().getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(view?.windowToken, 0)
于 2021-02-16T07:07:33.280 回答