为 Edittext 视图抑制软输入(隐藏键盘)
Suppress Soft Input (hide keyboard) for Edittext view
我正在尝试制作一个简单的计算器,我想这样做,然后退出用户可以在其中移动课程但只能根据我包含的按钮进行输入的视图。
然而,当我按下 Edittext 视图时,键盘弹出,我不知道如何抑制它 - 我已经在清单中尝试了 android:windowSoftInputMode="stateAlwaysHidden"
和 android:configChanges="keyboardHidden"
还有
InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
//Hide keyboard
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
在 Java 但其中 none 有效
您可以检查视图是否处于焦点,然后隐藏键盘。
View view = this.getCurrentFocus();
if (view != null) {
InputMethodManager manager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
manager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
感谢您的帮助,但我刚刚找到了解决方案
XML:
<EditText
android:id="@+id/InputLine"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_above="@id/Sixth_Up"
android:onClick="hideKeyboard">
</EditText>
Java:
public void hideKeyboard(View v) {
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.hideSoftInputFromWindow(editInput.getWindowToken(),0);
}
我正在尝试制作一个简单的计算器,我想这样做,然后退出用户可以在其中移动课程但只能根据我包含的按钮进行输入的视图。
然而,当我按下 Edittext 视图时,键盘弹出,我不知道如何抑制它 - 我已经在清单中尝试了 android:windowSoftInputMode="stateAlwaysHidden"
和 android:configChanges="keyboardHidden"
还有
InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
//Hide keyboard
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
在 Java 但其中 none 有效
您可以检查视图是否处于焦点,然后隐藏键盘。
View view = this.getCurrentFocus(); if (view != null) { InputMethodManager manager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); manager.hideSoftInputFromWindow(view.getWindowToken(), 0); }
感谢您的帮助,但我刚刚找到了解决方案
XML:
<EditText
android:id="@+id/InputLine"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_above="@id/Sixth_Up"
android:onClick="hideKeyboard">
</EditText>
Java:
public void hideKeyboard(View v) {
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.hideSoftInputFromWindow(editInput.getWindowToken(),0);
}