为了账号安全,请及时绑定邮箱和手机立即绑定

关闭/隐藏Android软键盘

关闭/隐藏Android软键盘

哆啦的时光机 2019-05-21 16:32:24
我的布局中有一个EditText和一个Button。在编辑字段中写入并单击后Button,我想隐藏虚拟键盘。我假设这是一段简单的代码,但我在哪里可以找到它的一个例子?
查看完整描述

3 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

您可以强制Android使用InputMethodManager隐藏虚拟键盘,调用hideSoftInputFromWindow并传入包含焦点视图的窗口的标记。

// Check if no view has focus:

View view = this.getCurrentFocus();

if (view != null) {  

    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);

    imm.hideSoftInputFromWindow(view.getWindowToken(), 0);

}

这将强制键盘在所有情况下都被隐藏。在某些情况下,您需要传入InputMethodManager.HIDE_IMPLICIT_ONLY第二个参数,以确保仅在用户未明确强制显示键盘时隐藏键盘(通过按住菜单)。


注意:如果您想在Kotlin中执行此操作,请使用: context?.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager


Kotlin语法


// Check if no view has focus:

 val view = this.currentFocus

 view?.let { v ->

  val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as? InputMethodManager 

  imm?.let { it.hideSoftInputFromWindow(v.windowToken, 0) }

 }


查看完整回答
反对 回复 2019-05-21
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

隐藏软键盘也很有用:


getWindow().setSoftInputMode(

    WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN

);

这可用于在用户实际触摸editText视图之前抑制软键盘。


查看完整回答
反对 回复 2019-05-21
  • 3 回答
  • 0 关注
  • 2837 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信