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


在EditText中书写时,如何在我的软键盘(Samsung 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",

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

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


18
2018-01-26 09:14


起源


我认为您的屏幕处于纵向模式,因此您无法看到完成按钮,将屏幕旋转到横向模式,它将在EditText的右侧可见。 - Yugandhar Babu
是的,我的屏幕处于纵向模式。有没有办法让肖像中的返回和完成按钮? - jul


答案:


将其添加到EditText xml:

android:imeOptions="actionDone"

或者,从代码中设置它:

yourEditText.setImeOptions(EditorInfo.IME_ACTION_DONE);

更多,阅读 这个


49
2018-01-26 09:17



我试过了。它不起作用。 - jul
你使用标准(Android)键盘? - waqaslam
我有三星Galaxy 10.1,也许他们有定制的软键盘? - jul
将以下内容添加到EditText xml中,android:singleLine =“true” - mmaitlen
这似乎只适用于横向模式。 - Klaasvaak


使用我的Galaxy S2手机

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

EditText editText = new EditText(this);

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

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

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

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"/>

3
2017-10-11 07:29





至少在我的Intel x86仿真器中,仅当您指定输入类型时才会出现“完成”键:“phone”,“number”,“text”,“textPassword”,... with android:inputType。如果未指定任何或设置“textMultiLine”,则不会显示“完成”。

android:imeOptions="actionDone"

editText.setImeOptions(EditorInfo.IME_ACTION_DONE);

似乎毫无用处,因为它们在第一种情况下(无论如何都出现“完成”)或第二种情况下都没有改变任何东西(因为“完成”不会出现)!


1
2018-05-24 21:00





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


0
2018-01-26 09:24