如何在活动中完全隐藏键盘?

时间:2019-10-28 14:44:13

标签: android keyboard android-softkeyboard soft-keyboard

如何隐藏键盘在活动中,甚至通过单击(以编程方式)单击编辑文本,也不能防止键盘打开?

我已经解决了: 我在onCreate事件中使用了以下代码:

edittext1.setShowSoftInputOnFocus(false);

这将在编辑文本中禁用键盘,而不会干扰选择器或光标。

2 个答案:

答案 0 :(得分:0)

在活动的onCreate()方法中隐藏键盘

/**
* Hides the soft keyboard
*/
public void hideSoftKeyboard() {
   if(getCurrentFocus()!=null) {
       InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
   }
}

或仅在AndroidManifest.xml文件中使用此(“ android:windowSoftInputMode =” stateHidden“)

<activity
 android:name="com.example.stockquote.StockInfoActivity"
 android:windowSoftInputMode="stateHidden
 android:label="@string/app_name" />

答案 1 :(得分:0)

有两种方法可以实现此目的:

在清单中执行以下操作:

<activity
    android:name=".MyActivity"
    android:windowSoftInputMode="stateAlwaysHidden"/>

或者在您的Java代码中执行以下操作:

View view = this.getCurrentFocus();
    if (view != null) {  
        InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
    }

有关详细说明,请参阅此SO answer