Dialog 无法隐藏软键盘
Dialog 无法隐藏软键盘
自定义写了一个inputdialog工具类
但是调出软键盘后 再点取消/确定/dialog外 软键盘缺无法一同消失
Dialog inputDialog = new Dialog(context); inputDialog.show(); LayoutInflater inflater = LayoutInflater.from(context); View view = inflater.inflate(R.layout.pdms_dialog_input, null); inputDialog.getWindow().setContentView(view); TextView negative = view.findViewById(R.id.btn_selectNegative); TextView positive = view.findViewById(R.id.btn_selectPositive); TextView titleText = view.findViewById(R.id.txt_dialog_title); ClearEditText editValue = view.findViewById(R.id.txt_input); editValue.setInputType(inputType); if (!TextUtils.isEmpty(hint)) { editValue.setHint(hint); } if (!TextUtils.isEmpty(value)) { editValue.setText(value); editValue.setSelection(value.length()); } titleText.setText(title); negative.setOnClickListener(v -> inputDialog.dismiss()); positive.setOnClickListener(v -> { String input = editValue.getEditableText() != null ? editValue.getEditableText().toString() : null; if (input != null) { consumer.accept(input); } inputDialog.dismiss(); }); inputDialog.setOnDismissListener(hideKeyboard());
关于hideKeyboard()网上已经有很多了 无外乎 InputMethodManager的几个藏键盘方法,当然如果你调用并且好用也不会找到这篇文章
后来在网上看到很多方法 要不就是不管用 要不就是要兜个大圈子
最后再stackOverFlow的一个不起眼的回复里看到一条
可以在xml文件里对应的activity里加一句
android:windowSoftInputMode=“stateAlwaysHidden”
如下:
<activity android:name=".Name" android:label="@string/app_name" android:windowSoftInputMode="stateAlwaysHidden">
简单暴力好用,目前没发现有什么大问题 有问题再回来补
文章来源: Dialog 无法隐藏软键盘