【问题标题】:How to get the keyboard to show a return key?如何让键盘显示返回键?
【发布时间】:2012-10-08 09:17:00
【问题描述】:

我想我已经尝试了所有组合,但我无法让字母键盘显示返回键。它总是一个“完成”按钮,没有用。在 Nexus 7 (4.1) 上,情况更糟,并显示一个愚蠢的笑脸按钮和完成按钮,这对我的应用程序没有意义。只要我有一个返回按钮,就可以有一个完成按钮。这是我尝试过的众多选项之一:

<AutoCompleteTextView
    android:id="@+id/annotate_edit"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="15dp"
    android:layout_marginLeft="60dp"
    android:layout_marginRight="60dp"
    android:layout_marginTop="15dp"
    android:completionThreshold="1"
    android:inputType="textCapSentences|textImeMultiLine"
    android:imeOptions="actionDone"
    android:lines="1"
    android:maxLength="18"
    android:textSize="30px" />

我尝试过使用和不使用 imeOpitons 线,以及各种 inputType 选项,包括删除它。有一些选项可以使其成为搜索按钮(没有帮助),但没有列出任何使其成为返回键的选项。我也试过“lines=2”,但没有解决。还有其他想法吗?

【问题讨论】:

  • 我认为这可能是特定于键盘/设备的。例如,在我的 GNex 上,在没有设置选项的代码中创建的 AutoCompleteTextView 默认具有返回键、没有笑脸或“完成”。顺便说一句,你为什么要在 AutoCompleteTextView 上使用返回键?我通常不会将它们与多行输入相关联。
  • 用于可能有 1 或 2 个返回的标志显示。例如:生日快乐\n。我还有大量预定义的短语,它们被输入到自动完成中。问题可能是 AutoComplete 的设计限制不支持换行,但如果属实,这似乎仍然是一个奇怪的限制。

标签: android keyboard return


【解决方案1】:

现在你已经设置了imeOptions="actionDone"。你说你已经尝试删除它,但它所做的一切又将它默认为actionDone,每the docs.

尝试设置imeOptions="actionNone"。这应该不会给你任何动作并强制返回键。

但是,我不知道这本身就能保证多行 AutoCompleteTextView 正常工作。我在一个应用程序中有一个,它在我的所有设备上都显示了一个返回键。不同之处在于返回键的行为。

例如,在我的 GNex (4.1) 上,当您按下回车键时,它会正确换行。

在我的 SGS2 (2.3) 上,按下它时没有任何反应。没有多行,没有完成。只是一个死按钮。

这可能是不同API中默认的EditText样式不同,所以你也应该尝试设置inputType="textMultiLine"。这可能与textImeMultiLine 之间存在细微差别。

【讨论】:

  • 诀窍是避免使用:android:inputType,因为它似乎会强制它进入单行模式。它甚至会覆盖android:singleLine="false" 之类的选项。感谢您帮助我指出正确的方向!
  • 其实可以使用set android:inputType 和default imeOption 保持回车。您只需将:“|textMultiLine”连接到您的 android:inputType,如下所示:android:inputType="textCapSentences | textMultiLine"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-15
  • 2019-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-07
相关资源
最近更新 更多