【问题标题】:Android soft touch keyboard安卓软触摸键盘
【发布时间】:2018-07-13 22:53:24
【问题描述】:

我是使用 Android 编程的新手,我试图弄清楚如何在单击 EditText 项目时显示软触摸键盘(当活动加载时,只有一个用户输入字段,所以它会保留焦点)到目前为止,我有以下方法,但是当它显示键盘时,用户无法关闭键盘......关闭键盘的按钮在那里但是它不会隐藏它。

public void showKeyboard(View view) {
    InputMethodManager myKeyboard = (InputMethodManager)getSystemService(Context
        .INPUT_METHOD_SERVICE);
    myKeyboard.showSoftInput(PN_input,InputMethodManager.SHOW_IMPLICIT);
}

任何帮助或指向正确方向都会有所帮助:)

编辑:点击查找按钮时隐藏我正在使用的键盘方法

public void hideKeyboard() {
    InputMethodManager myKeyboard = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    myKeyboard.hideSoftInputFromWindow(PN_input.getWindowToken(),0);
}

【问题讨论】:

  • 你能告诉你要如何隐藏软键
  • 添加到上面的问题

标签: java android oop user-interface keyboard


【解决方案1】:

通过在 android 开发者网站上的挖掘,我能够创建一个可以显示键盘的方法,并且“完成”按钮可以关闭键盘。

    InputMethodManager myKeyboard = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    myKeyboard.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);

https://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html

【讨论】:

    【解决方案2】:

    把这个放到你的 Activity onCreate 以在 Activity 启动时隐藏软键下面的代码隐藏你的软键。

     this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);// for hide keypad
    

    当您点击EditText时,会自动出现软键,无需代码,将软键触摸隐藏在屏幕内的任何位置。

    显示键盘使用此代码:

     InputMethodManager imm = (InputMethodManager)
                                     getSystemService(Context.INPUT_METHOD_SERVICE);
    if(imm != null){
            imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, 0);
        }
    

    隐藏键盘请使用以下代码:

     InputMethodManager imm = (InputMethodManager)
                                      getSystemService(Context.INPUT_METHOD_SERVICE);
    if(imm != null){
            imm.toggleSoftInput(0, InputMethodManager.HIDE_IMPLICIT_ONLY);
        }
    

    【讨论】:

    • 如果您遇到任何问题,请发表评论
    • 我不需要在 onCreate 时隐藏键盘,这时我需要让键盘可见。当用户单击搜索时,它会隐藏键盘并在 EditText 小部件下方显示搜索结果。当用户再次单击 EditText 时,它会再次显示键盘,但是软触摸键盘上的“隐藏键盘”按钮无法隐藏它。您可以单击它,但没有任何反应
    猜你喜欢
    • 1970-01-01
    • 2011-11-08
    • 2010-12-26
    • 1970-01-01
    • 2018-07-16
    • 2014-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多