2017-10-05 98 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);