显示虚拟键盘的按钮?

Posted

技术标签:

【中文标题】显示虚拟键盘的按钮?【英文标题】:Button to show virtual keyboard? 【发布时间】:2010-12-31 16:03:34 【问题描述】:

我有一个 ListView,可以使用硬件键盘过滤掉项目。但是,对于没有硬件键盘而只有虚拟键盘的手机,我该怎么办?有没有办法添加一个按钮,按下时会显示虚拟键盘?

【问题讨论】:

【参考方案1】:

我可以使用下面的代码来切换屏幕键盘。我希望这对某人有用。

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

【讨论】:

【参考方案2】:

一个建议可能是只使用文本输入框 (EditText)。这样,理论上用户可以输入多个字符来缩小搜索范围(并查看他们输入的内容)。要显示屏幕键盘,他们需要做的就是触摸文本框。如果该框被命名为“搜索”或类似名称,我相信它对用户来说会比按钮更直观。

【讨论】:

【参考方案3】:

有一个约定(也许其他人可以提供参考 - 我无法快速找到任何东西)按住 Menu 硬件按钮会调出软键盘。

虽然这似乎取决于设备。我知道它可以在 G1 上运行,但在我的 HTC Hero 上却不能在主屏幕上运行(尽管 HTC 似乎搞砸了一些快捷方式,比如按住 Home 按钮)。

无论如何,我知道ConnectBot 等其他应用程序提到并使用此约定来调出虚拟键盘。

【讨论】:

长按菜单只是为了在当时不了解软键盘的应用程序中作为最后的兼容性。今天编写的应用程序不应该依赖它。因为它是一种兼容模式,所以它会将键盘置于与问题预期不同的状态——例如,用户在浏览 UI 时需要显式关闭它,而不是遵循正常的自动关闭规则。 感谢您的澄清(来自安卓系统!;))。那么对于原始问题,推荐的 UI 解决方案是什么? bdls 提到的显式搜索/过滤文本框? 添加一个 EditText 框似乎有效。我在***.com/questions/1737009/…(第一个答案)找到了一个问题,它提供了我正在关注的一个很好的教程。【参考方案4】:

android 4.0 (IceCreamSandwich) 中按住菜单按钮似乎不再起作用。 这会破坏许多应用程序中的可过滤列表,在这些应用程序中,用户现在无法再过滤列表,需要用眼球 grep 来查看很长很长的列表。

【讨论】:

以上是关于显示虚拟键盘的按钮?的主要内容,如果未能解决你的问题,请参考以下文章

处理 iOS 虚拟键盘“上一个”、“下一个”、“Go/Enter”按钮

如何更改 mottie 虚拟键盘中自定义键的显示名称

如何显示被虚拟键盘隐藏的文本字段?

无法关闭虚拟键盘

提交类型的输入/按钮调出虚拟键盘

Iphone:点击/点击“开始”按钮后,虚拟键盘不会隐藏