Java 禁用searchview的软输入键盘
我正在为searchview显示一个定制的键盘,并取消显示默认的软输入键盘。它工作得很好,除非当我试图拉动导航抽屉并将其释放时,会显示默认的软输入键盘。如何禁用actionbar searchview或特定活动的默认软键盘?到目前为止,我已经尝试了以下方法,但没有成功 将活动的WindowsOfInputMode设置为StateAllwaysHidden 将SearchView的输入类型设置为NULL 获取SearchView后面的基础EditText,并添加OnTouchListener并使用InputMethodManager隐藏默认软键盘Java 禁用searchview的软输入键盘,java,android,mono,keyboard,searchview,Java,Android,Mono,Keyboard,Searchview,我正在为searchview显示一个定制的键盘,并取消显示默认的软输入键盘。它工作得很好,除非当我试图拉动导航抽屉并将其释放时,会显示默认的软输入键盘。如何禁用actionbar searchview或特定活动的默认软键盘?到目前为止,我已经尝试了以下方法,但没有成功 将活动的WindowsOfInputMode设置为StateAllwaysHidden 将SearchView的输入类型设置为NULL 获取SearchView后面的基础EditText,并添加OnTouchListener并使用
注意:我使用的是Mono Android,我能理解Java代码,所以请不要犹豫,给出任何Java解决方案 谢谢。我正在使用类似的方法隐藏默认键盘。但我不知道当应用程序失去焦点时,哪个事件会触发默认键盘显示,例如:当下拉通知栏、电池电量不足警报等特殊视图时,我认为是OnFocusChangeListener。如果你想找到它的全局事件,我不知道。也尝试过。没用。谢谢你的意见
/**
* Toggle keyboard If the keyboard is visible,then hidden it,if it's
* invisible,then show it
*
* @param context
*/
public static void toggleKeyboard(Context context) {
InputMethodManager imm = (InputMethodManager) context
.getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm.isActive()) {
imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT,
InputMethodManager.HIDE_NOT_ALWAYS);
}
}
/**
* Hide keyboard
*
* @param context
*/
public static void hideKeyboard(Context context,IBinder token) {
InputMethodManager imm = (InputMethodManager) context
.getSystemService(Context.INPUT_METHOD_SERVICE);
if(imm.isActive()){
imm.hideSoftInputFromWindow(token,0);
}
}