Ответ 1
добавьте это в свой EditText xml:
android:imeOptions="actionDone"
или, чтобы установить его из кода:
yourEditText.setImeOptions(EditorInfo.IME_ACTION_DONE);
для более, прочитайте this
Как я могу создать кнопку "done" в моей программной клавиатуре (Samsung Galaxy 10.1, Android 3.1) при записи в EditText?
Использование
<EditText
android:id="@+id/comment"
android:layout_width="772dp"
android:layout_height="200dp"/>
Я получаю
Если возможно, я также хотел бы удалить эту кнопку "вложения".
Кто-нибудь может помочь?
ИЗМЕНИТЬ
Мне удалось получить кнопку "Готово", используя
android:inputType="textImeMultiLine",
но кнопка "возврат" исчезла...
Как я могу взять оба? (Я спросил этот новый вопрос здесь).
добавьте это в свой EditText xml:
android:imeOptions="actionDone"
или, чтобы установить его из кода:
yourEditText.setImeOptions(EditorInfo.IME_ACTION_DONE);
для более, прочитайте this
Использование телефона Galaxy S2
Для кода ниже каждый EditText будет иметь кнопку возврата, которая добавляет новую строку:
EditText editText = new EditText(this);
Для кода ниже каждый EditText будет иметь следующую кнопку, которая перейдет к следующему полю, а в последней будет кнопка "Готово", которая отклонит клавиатуру:
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"/>
В моем эмуляторе Intel x86, по крайней мере, клавиша "Готово" появляется только в том случае, если вы укажете тип ввода: "телефон", "число", "текст", "текст",... с помощью android: inputType. Если вы не укажете какой-либо или вы установите "textMultiLine", "Готово" не появится.
android:imeOptions="actionDone"
и
editText.setImeOptions(EditorInfo.IME_ACTION_DONE);
кажутся бесполезными, поскольку они ничего не меняют ни в первом случае (где "Done" появляется в любом случае), либо во втором случае (поскольку "Done" не появляется)!
Используйте TextView.setImeOptions и передайте его actionDone.
Добавьте следующий код в ваш EditText в XML
android:imeOptions="actionDone"
android:imeActionLabel="@string/done"
android:singleLine="true"
Поле android:inputType="text"
необязательно