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