问题描述
我试图隐藏底部表单对话框片段中单击的底部的软键。 我已经试过了:
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)
}
购买它在底部工作表对话框中不起作用
解决方法
尝试以下操作:
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);
,
你确定 requireActivity().currentFocus
没有返回 null?当我尝试你的代码时,这似乎总是发生,如果它发生,它什么都不做是有道理的。我建议以另一种方式查看。只要您在从 onCreateView
返回后调用该函数,您就可以使用 view
(来自 getView()
):
val imm = requireActivity().getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(view?.windowToken,0)