Android关闭输入软键盘无效的问题
2020-07-29 本文已影响0人
因为我的心
一、前言:
1.Android 输入软键盘打开的方法
View view = getCurrentFocus();
if (view != null) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view, InputMethodManager.SHOW_FORCED);
}
2.Android输入软键盘关闭的方法1:
/**
* 隐藏软键盘(只适用于Activity,不适用于Fragment)
*/
public static void hideSoftKeyboard(Activity activity) {
View view = activity.getCurrentFocus();
if (view != null) {
InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
3.Android输入软键盘关闭的方法2:
//view为接受软键盘输入的视图,SHOW_FORCED表示强制显示
public static void hideSoftKeyboard(Activity activity, View view) {
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view, InputMethodManager.SHOW_FORCED);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0); //强制隐藏键盘
}
4.Android输入软键盘关闭的方法3:
<activity android:name="com.qiloo.shop.rental.activty.MainActivity" android:windowSoftInputMode="stateHidden"/>
二、解决方法
有时候,在关闭软件盘时出现 无效 的情况。
1、解决方式
修改Activity的windowSoftInputMode 为 :stateAlwaysHidden
android:windowSoftInputMode="stateAlwaysHidden"