Экранная кнопка Android Softkey - PullRequest
35 голосов
/ 15 мая 2011

Мой макет имеет 4 вида EditText и вид кнопки «Отправить».Мне нужно иметь кнопку «Далее» для первых 3-х EditText и кнопку «Готово» для 4-го поля EditText вместо клавиши «Новая строка» программной клавиатуры.

Как это можно сделать?

Ответы [ 4 ]

69 голосов
/ 15 мая 2011

В макете просто установите атрибуты XML android:imeOptions="actionNext" для первых трех текстовых полей и android:imeOptions="actionDone" для последнего.

См .: Android: документация imeOptions

Кроме того, есть небольшой пример XML в учебных документах .

6 голосов
/ 29 февраля 2012

для перемещения фокуса на следующее поле редактирования добавьте

андроид: imeOptions = "flagNavigateNext"

и для закрытия функциональной клавиши готово, нажмите добавить

Android: imeOptions = "actionDone"

в вашем макете:)

2 голосов
/ 11 мая 2014

Добавить android:singleLine="true" в вашу кнопку xml

1 голос
/ 15 мая 2011

Я думаю, что вы ищете что-то вроде этого:

EditText nextText = new EditText(this)
{
    @Override
    public InputConnection onCreateInputConnection(final EditorInfo outAttrs)
    {
        outAttrs.imeOptions |= EditorInfo.IME_ACTION_NEXT;
        return (super.onCreateInputConnection(outAttrs));
    }
};

EditText doneText = new EditText(this)
{
    @Override
    public InputConnection onCreateInputConnection(final EditorInfo outAttrs)
    {
        outAttrs.imeOptions |= EditorInfo.IME_ACTION_DONE;
        return (super.onCreateInputConnection(outAttrs));
    }
};

Сначала пользователь переместится к следующему полю в макете, в котором будет принят текст. Второй закроет IME (программная клавиатура).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...