在编辑字段中写入内容并单击Button之后,我想隐藏虚拟键盘。我假设这是一段简单的代码,但是在哪里可以找到它的一个例子呢?
解决方案1)将输入类型设置为"文本"
如果要手动隐藏键盘上的按钮操作,请单击:
当您想隐藏键盘时,除了edittext,您在屏幕上单击的位置在活动中重写此方法:
我创建了一个布局,一部分来自XML,另一部分来自一个定制的布局引擎,这些都是用代码处理的。唯一对我有用的是跟踪键盘是否打开,并使用键盘切换方法如下:
下面的代码将帮助您生成可以从任何地方调用的通用函数。
使用一行代码从任意位置调用上述方法。
视图可以是任何东西,例如活动的根布局。
这种方法总是以任何代价工作。只要在你想隐藏键盘的地方使用它
无论Android的版本是什么。这种方法肯定有效
您只需将此代码添加到要隐藏软键盘的位置即可。"
另一种使用SearchView的方法是使用以下代码:
您可以为任何视图创建扩展函数
在这里绝望地尝试了所有的方法,结合所有的方法,当然键盘不会关闭在Android4.0.3(它确实在Honeicomb Afair工作)。
突然,我发现了一个明显获胜的组合:
希望这能阻止某人自杀。我离它很近。当然,我不知道它为什么会起作用。
为了简单起见,我写了一个通用的方法来做这件事:
嗨,这很简单,如果你和Kotlin一起工作,我相信你也可以很容易地把代码转换成Java,首先在你的活动中,当你的活动在OnCeCATE()调用它时,使用这个函数。
对于外面的Kotlin用户,这里有一个适用于我的用例的Kotlin扩展方法:
把它放在一个名为VIEW扩展的文件中(或者你有什么),就像正常的方法那样在你的视图上调用它。
它会起作用的……@ask
1-在文件中创建顶级函数(例如包含所有顶级函数的文件):
2-然后在任何需要的活动中调用它:
如果应用程序的目标API级别为21或更高,则需要使用默认方法:
确保在EditTextxml标记中设置了以下代码。
在阅读了上面和另一篇文章中的所有答案之后,我仍然没有成功地让键盘自动打开。
在我的项目中,我动态地创建了一个对话框(AlertDialog(通过在不使用或使用最少所需XML的情况下对其进行编程)。
所以我做了如下的事情:
在讨论了所有的答案之后,我发现如果你知道把请求放在哪里的话,大多数答案都是有效的。这是所有人的关键。
所以,诀窍是把它放在对话产生之前:在我的例子中,这就像魅力:
我很确定这个原则在所有窗口中都是一样的,所以请注意"ShowKeyboard"代码的位置——它应该在窗口启动之前。
来自Android SDK开发团队的一个小请求:
我认为所有这些都是不必要的,正如您所看到的,来自世界各地的成千上万的程序员正在处理这个荒谬和琐碎的问题,而它的解决方案应该是干净和简单的:imho如果我让requestFocus()进入一个面向输入的视图(如EditText视图),键盘应该自动打开,除非用户要求不打开,所以我认为这里的键是requestFocus()方法,并且应该接受默认值为true的Boolean
希望这能帮助像我这样的人。
您只需要在清单活动标记内写一行
我正在使用以下Kotlin活动扩展:
用Try-Catch包围它,这样键盘就已经关闭了,应用程序不会崩溃:
使用此方法隐藏和显示键盘
要在应用程序启动时显示键盘:
我已经尝试了所有的解决方案,但没有一个解决方案对我有效,所以我找到了我的解决方案:您应该有如下布尔变量:
在触摸屏事件中,您可以拨打:
在edittext中,在任何地方: