Android: imeOptions не работает, несмотря на использование maxLines и inputType - PullRequest
0 голосов
/ 03 мая 2019

Я хочу, чтобы программная клавиатура в моем приложении отображала Done при нажатии на конкретный EditText. Вот так это выглядит

<EditText
     android:id="@+id/code_editText"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_below="@id/enter_code_textView"
     android:layout_marginStart="@dimen/margin_25dp"
     android:layout_marginLeft="@dimen/margin_25dp"
     android:layout_marginTop="@dimen/margin_12dp"
     android:layout_marginEnd="@dimen/margin_25dp"
     android:layout_marginRight="@dimen/margin_25dp"
     android:background="@drawable/edittext_background"
     android:maxLines="1"
     android:inputType="text"
     android:imeOptions="actionDone"
     android:textColor="@color/black"
     android:textCursorDrawable="@null"
     android:textSize="16sp" />

Но это не работает. Программная клавиатура для ввода текста текста не меняется вообще. Я пробовал это на нескольких устройствах, один Oreo и один KitKat. Я также пытался использовать атрибут singleLine, но это тоже не работает. Что мне здесь не хватает? Заранее спасибо!

1 Ответ

2 голосов
/ 03 мая 2019

Нет способа заставить программную клавиатуру показывать любую клавишу, даже imeOptions. Приложение клавиатуры использует это как подсказку - оно не должно соблюдать это. И помните, что каждая отдельная клавиатура будет по-разному выбирать, соблюдать ее или нет. И что нет такой вещи, как «клавиатура по умолчанию», так как многие производители заменяют ее. По сути, вы можете установить imeOptions и надеяться, что он работает, но нет способа заставить его работать на всех устройствах и приложениях клавиатуры.

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