Есть ли способ иметь многострочность EditText
и использовать метку действия IME «Готово» на Android 2.3?
В Android 2.2 это не проблема, кнопка ввода показывает метку действия IME «Готово» ( android:imeActionLabel="actionDone"
) и закрывает мягкий ввод при нажатии.
При настройке EditText
для многострочного режима Android 2.3 удаляет возможность отображать действие «Готово» для клавиатуры мягкого ввода.
Мне удалось изменить поведение кнопки ввода мягкого ввода с помощью a KeyListener
, однако кнопка ввода по-прежнему выглядит как клавиша ввода.
Вот декларация EditText
<EditText
android:id="@+id/Comment"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginBottom="0dp"
android:lines="3"
android:maxLines="3"
android:minLines="3"
android:maxLength="60"
android:scrollHorizontally="false"
android:hint="hint"
android:gravity="top|left"
android:textColor="#888"
android:textSize="14dp"
/>
<!-- android:inputType="text" will kill the multiline on 2.3! -->
<!-- android:imeOptions="actionDone" switches to a "t9" like soft input -->
Когда я проверяю inputType
значение после загрузки настройки представления содержимого в действии, оно отображается как:
inputType = 0x20001
Который:
- class =
TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_NORMAL
- флаги =
InputType.TYPE_TEXT_FLAG_MULTI_LINE