12.消除软键盘

作者: Jennyni1122 | 来源:发表于2018-10-15 08:36 被阅读31次

12.1 问题

需要通过用户界面上的某个事件隐藏或消除屏幕上的软键盘。

12.2 解决方案

(API Level 2)
用InputMethodManager.hideSoftInputFromWindow()方法可以让输入法管理器显式地隐藏可见的输入法。

12.3 实现机制

下面这个示例演示了如何在View.OnClickListener中调用该方法:

    public void onClick(View view){
        InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(view.getWindowToken(),0);
    }

hideSoftInputFromWindow()方法的参数是一个IBinder窗口令牌。可以用View.getWindowToken()从附加到窗口的View对象获得该令牌。大部分情况下,每个事件的回调方法都会有一个引用指向正在编辑的TextView,或者点击以生成事件的View(如某个按键)。通过调用这些View对象获得窗口令牌,再将其传递给InputMethodManager,这是最方便的做法。

相关文章

网友评论

    本文标题:12.消除软键盘

    本文链接:https://www.haomeiwen.com/subject/qpkgwftx.html