我知道可以使用以下方式设置我的“完成”按钮
EditText.setImeOptions();
但是我该如何设置自定义文本?我是否可以指定我想要的文本?
我知道可以使用以下方式设置我的“完成”按钮
EditText.setImeOptions();
但是我该如何设置自定义文本?我是否可以指定我想要的文本?
实际上,您可以为那个小蓝色按钮设置自定义文本。在xml文件中,只需使用以下内容:
android:imeActionLabel="whatever"
在您的EditText上。
或在Java文件中使用
etEditText.setImeActionLabel("whatever", EditorInfo.IME_ACTION_DONE);
我随意选择了IME_ACTION_DONE作为这个函数的第二个参数的示例。可以在此处找到所有这些操作的完整列表。
需要注意的是,这不会导致所有设备上的所有键盘都显示文本。一些键盘不支持该按钮上的文本(例如,SwiftKey)。而且有些设备也不支持它。一个好的规则是,如果你已经看到按钮上有文本,那么这将把它更改为你想要的任何内容。
您可以在xml文件中设置EditText视图的InputType
<EditText
android:id="@+id/edt_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeActionLabel="DONE"
/>
您可以查看API文档以获取更多信息。
我不确定是否可能这样做,但根据来自Android开发者网站的this article:
因为IME覆盖了应用程序,它有自己的编辑区域,显示实际包含在应用程序中的文本。 应用程序还有一些有限的机会来自定义IME的某些部分(顶部的“完成”按钮和底部的输入键标签),以改善用户体验。
所以我怀疑你不能将其更改为除预定义的“下一个”,“完成”,“发送”,“前往”和“搜索”之外的任何内容。