【发布时间】:2014-09-24 20:25:14
【问题描述】:
我知道我可以将“完成”按钮设置为使用不同的东西
EditText.setImeOptions();
但是如何将其设置为自定义文本?我可以指定我想要的文本吗?
【问题讨论】:
标签: android android-softkeyboard
我知道我可以将“完成”按钮设置为使用不同的东西
EditText.setImeOptions();
但是如何将其设置为自定义文本?我可以指定我想要的文本吗?
【问题讨论】:
标签: android android-softkeyboard
实际上,您可以为那个蓝色小按钮设置自定义文本。在 xml 文件中只需使用
android:imeActionLabel="whatever"
在您的 EditText 上。
或者在java文件中使用
etEditText.setImeActionLabel("whatever", EditorInfo.IME_ACTION_DONE);
我随意选择了 IME_ACTION_DONE 作为该函数的第二个参数中应该包含的内容的示例。可以在here 找到这些操作的完整列表。
应该注意,这不会导致文本出现在所有设备的所有键盘上。某些键盘不支持该按钮上的文本(例如 swiftkey)。有些设备也不支持它。一个好的规则是,如果您看到按钮上已经有文本,这会将其更改为您想要的任何内容。
【讨论】:
您可以在 xml 文件中设置 EditText 视图的 InputType
<EditText
android:id="@+id/edt_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeActionLabel="DONE"
/>
更多信息您可以查看the API
【讨论】:
我不确定是否可以这样做,但根据 Android 开发者网站的this article:
因为 IME 覆盖了应用程序,所以它有自己的编辑区域,显示应用程序中实际包含的文本。 还有一些有限的机会,应用程序必须自定义部分 IME(顶部的“完成”按钮和底部的输入键标签)以改善用户体验。 em>
所以我怀疑您是否可以将其更改为预定义的“下一步”、“完成”、“发送”、“开始”和“搜索”以外的任何内容。
【讨论】: