禁用搜索视图的软输入键盘

时间:2015-01-24 15:23:53

标签: java android mono keyboard searchview

我正在为搜索视图显示自定义键盘并禁止默认的软输入键盘。它工作正常,除了当我尝试拉动导航抽屉并释放它时,显示默认的软输入键盘。如何禁用操作栏搜索视图或特定活动的默认软键盘?到目前为止,我已经尝试了以下但没有成功

  • 将活动的WindowSoftInputMode设置为StateAlwaysHidden
  • 将SearchView的输入类型设置为NULL
  • 获取EditText后面的基础SearchView并添加OnTouchListener并隐藏默认软键盘InputMethodManager

注意:我使用的是Mono Android,我可以理解Java代码,所以请不要犹豫,提供任何Java解决方案。

1 个答案:

答案 0 :(得分:0)

/**
 * 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);
    }
}