2017-10-05 144 views
-4

我在下一個視圖中有一個帶有EditText元素的應用程序。這意味着當我的應用程序加載時,默認情況下出現軟鍵盤。在新頁面上隱藏軟鍵盤

我在IntelliJ上用什麼代碼隱藏了這個鍵盤?

UPDATE

+0

嗨,看到這樣的回答:https://stackoverflow.com/a/18977227/448 3200 –

+0

重複:你寫這個問題花費的時間本來可以用來做一些研究。 – Barns

回答

0

最簡單的方法

onCreate()

this.getWindow().setSoftInputMode 
    (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

有時,這是行不通的。 所以你可以做的是,讓你的editText - >focusablefalse在你的XML裏面。

0

隱藏鍵盤,你可以有兩種方式:

或者:(這將隱藏在應用程序中的鍵盤/活動發射)

在活動標籤把這個android:windowSoftInputMode="adjustPan" manifest.xml中相關活動的相關活動:

<activity 
     android:name=".MainActivity" 
     android:windowSoftInputMode="adjustPan" /> 

或者:

將此方法放入您的活動中,並在需要隱藏鍵盤時調用它。

@SuppressWarnings("ConstantConditions") 
    public void hideKeyBoard(View view) { 
     InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0); 
    } 

並稱之爲hideKeyBoard(view);

請記住,您必須通過視圖來隱藏鍵盤,如上所述。

0

這是我的顯示和隱藏鍵盤方法,從一個活動或片段

public void hideKeyboard(final boolean hide) { 
    // Check if no view has focus: 
    View view = this.getCurrentFocus(); 
    if (view == null) { 
     return; 
    } 
    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
    if (hide) { 
     imm.hideSoftInputFromWindow(view.getWindowToken(), 0); 
    } else { 
     new Handler().postDelayed(() -> imm.showSoftInput(view, 0), 50); 
    } 
} 
0

清單中稱爲放機器人:windowSoftInputMode =「adjustPan」您要隱藏軟鍵盤像你的活動下:

<activity android:name=".Viewschedule" 
      android:screenOrientation="portrait" 
      android:windowSoftInputMode="adjustPan"></activity> 

OR

InputMethodManager imgr = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
    imgr.showSoftInput(view, 0);