Dialog 无法隐藏软键盘

匿名 (未验证) 提交于 2019-12-02 23:03:14

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"> 

简单暴力好用,目前没发现有什么大问题 有问题再回来补

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!