Android软键盘自定义“完成”按钮文字?

时间:2011-06-07 12:46:38

标签: android android-softkeyboard

我知道我可以使用

将“完成”按钮设置为不同的东西
EditText.setImeOptions();

但我如何将其设置为自定义文字?我可以指定我想要的文本吗?

3 个答案:

答案 0 :(得分:86)

实际上,您可以将自定义文本设置为该蓝色小按钮。在xml文件中只需使用

android:imeActionLabel="whatever"

在你的EditText上。

或者在java文件中使用

etEditText.setImeActionLabel("whatever", EditorInfo.IME_ACTION_DONE);

我随意选择了IME_ACTION_DONE作为该函数的第二个参数应该包含的示例。可以找到这些操作的完整列表here

应该注意,这不会导致文本显示在所有设备上的所有键盘上。某些键盘不支持该按钮上的文本(例如swiftkey)。有些设备也不支持它。一个好的规则是,如果你看到按钮上已有文字,这将把它改成你想要的任何东西。

答案 1 :(得分:3)

您可以在xml文件中设置EditText View的InputType

<EditText
   android:id="@+id/edt_input"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:imeActionLabel="DONE"
/>

如需了解更多信息,请查看the API

答案 2 :(得分:-7)

我不确定是否可以这样做,但根据Android开发者网站的this article

  

因为IME覆盖了应用程序,所以它有自己的编辑区域,显示实际包含在应用程序中的文本。 应用程序还有一些有限的机会,可以自定义IME的各个部分(顶部的“完成”按钮,并在底部输入密钥标签),以改善用户体验。

因此我怀疑您可以将其更改为预定义的“下一步”,“完成”,“发送”,“开始”和“搜索”以外的任何内容。