Как сделать кнопку редактирования Android «Сделано» и скрыть клавиатуру при нажатии? - PullRequest
97 голосов
/ 17 декабря 2009

Когда пользователь нажимает на EditView, Android открывает клавиатуру, чтобы пользователь мог писать в EditView.

Проблема в том, что когда пользователь заканчивает писать, нет способа скрыть клавиатуру. Пользователь должен нажать кнопку «назад», чтобы скрыть клавиатуру.

Есть ли способ отобразить на клавиатуре кнопку Done, которая будет скрывать клавиатуру?

Ответы [ 13 ]

5 голосов
/ 09 декабря 2014

Использование:

android:imeActionLabel="Done"
android:singleLine="true" 
4 голосов
/ 28 марта 2014

Для кода:

editText.setImeOptions(EditorInfo.IME_ACTION_DONE);
1 голос
/ 20 ноября 2014

На самом деле вы можете установить пользовательский текст для этой маленькой синей кнопки. В файле XML просто используйте

android:imeActionLabel="whatever"

в вашем EditText.

Или в файле Java используйте

etEditText.setImeActionLabel("whatever", EditorInfo.IME_ACTION_DONE);

Я произвольно выбираю IME_ACTION_DONE в качестве примера того, что должно идти во втором параметре для этой функции. Полный список этих действий можно найти здесь .

Следует отметить, что это не приведет к появлению текста на всех клавиатурах на всех устройствах. Некоторые клавиатуры не поддерживают текст на этой кнопке (например, swiftkey). И некоторые устройства тоже не поддерживают это. Хорошее правило: если вы уже видите текст на кнопке, это изменит его на то, что вы захотите.

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