如何在软键盘中获得“完成”按钮?

时间:2012-01-26 09:14:36

标签: android android-edittext android-softkeyboard

在EditText中书写时,如何在我的软键盘(三星Galaxy 10.1,Android 3.1)中使用“完成”按钮?

使用

 <EditText
     android:id="@+id/comment"
     android:layout_width="772dp"
     android:layout_height="200dp"/>

我得到了

enter image description here

如果可能的话,我还想删除这个“附件”按钮。

有人可以帮忙吗?

修改

我设法使用

获得“完成”按钮
android:inputType="textImeMultiLine",

但“返回”按钮消失了......

我怎么能同时拥有这两个? (我问了这个新问题here)。

5 个答案:

答案 0 :(得分:53)

将此添加到EditText xml:

android:imeOptions="actionDone"

或者,从代码中设置它:

yourEditText.setImeOptions(EditorInfo.IME_ACTION_DONE);

了解更多信息,请阅读this

答案 1 :(得分:3)

使用我的Galaxy S2手机

对于下面的代码,每个EditText都有一个返回按钮,可以添加一个新行:

EditText editText = new EditText(this);

对于下面的代码,每个EditText都有一个导航到下一个字段的Next按钮,最后一个按钮将有一个将关闭键盘的Done按钮:

EditText editText = new EditText(this);
editText.setInputType(InputType.TYPE_CLASS_TEXT);

对于下面的代码,没有变化,每个EditText都有一个返回按钮:

EditText editText = new EditText(this);
editText.setImeOptions(EditorInfo.IME_ACTION_DONE);

对于下面的代码,所有EditText都有一个完成按钮,所有人都将关闭键盘。

    EditText editText = new EditText(this);
    editText.setInputType(InputType.TYPE_CLASS_TEXT);
    editText.setImeOptions(EditorInfo.IME_ACTION_DONE);

对于布局,请使用以下代码:

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="text"
    android:imeOptions="actionDone"/>

答案 2 :(得分:1)

至少在我的英特尔x86仿真器中,&#34;完成&#34;只有在您指定输入类型时才会显示该键:&#34; phone&#34;,&#34; number&#34;,&#34; text&#34;,&#34; textPassword&#34;,... with安卓的inputType。如果你没有指定任何或你设置&#34; textMultiLine&#34;,&#34;完成&#34;没有出现。

android:imeOptions="actionDone"

editText.setImeOptions(EditorInfo.IME_ACTION_DONE);

似乎毫无用处,因为他们在第一种情况下(其中&#34;完成&#34;无论如何出现)或在第二种情况下(从&#34;完成&#34;一直没有出现)!

答案 3 :(得分:0)

使用TextView.setImeOptions并将其传递给actionDone。

答案 4 :(得分:0)

将下一个代码添加到xml中的EditText

android:imeOptions="actionDone"
android:imeActionLabel="@string/done"
android:singleLine="true"

android:inputType="text"字段是可选的