我在下一个视图上有一个带有EditText元素的应用程序。这意味着当我的应用程序加载时,默认情况下会出现软键盘。
我使用什么代码在IntelliJ上隐藏此键盘?
更新
答案 0 :(得分: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);
。
请记住,您必须通过视图隐藏键盘,如上所述。
答案 1 :(得分:0)
最简单的方式
在onCreate()
this.getWindow().setSoftInputMode
(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
有时这不会奏效。
所以你可以做的是,让你editText
- &gt; focusable
内false
为XML
。
答案 2 :(得分: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);
}
}
答案 3 :(得分:0)
在Manifest中将android: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);