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"
上一篇下一篇

猜你喜欢

热点阅读