Подтвердить что ты не робот

В Android EditText, как удалить панель предложений с мягкой клавиатуры?

У меня есть приложение Android с полем EditText в одном из моих макетов. Я установил атрибут android:inputType="textNoSuggestions" для моего EditText. Текстовое поле больше не отображает предложения. Тем не менее, панель предложений по-прежнему находится на вершине мягкой клавиатуры, и сейчас кажется, что она служит только для отображения значка микрофона с голосовым входом. Я также не хочу/заботиться о голосовом вводе для этого поля и хотел бы удалить панель предложений с этой мягкой клавиатуры. Есть ли способ сделать это, возможно, с другим флажком inputType?

4b9b3361

Ответ 1

Я нашел решение, которое работает для меня. Глядя на логарифм при нажатии на панель поиска в панели запуска Google Now, вы увидите следующее:

07-03 19:50:07.760    1304-1304/? W/LatinIME﹕ Deprecated private IME option specified: nm
07-03 19:50:07.760    1304-1304/? W/LatinIME﹕ Use com.google.android.inputmethod.latin.noMicrophoneKey instead

Итак, что я сделал, это добавить эту строку в EditText xml:

android:privateImeOptions="nm"

"nm" берется из исходного кода LatinIME: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/4.0.1_r1/com/android/inputmethod/latin/LatinIME.java#93

public static final String IME_OPTION_NO_MICROPHONE_COMPAT = "nm";

Надеюсь, это поможет!

Ответ 2

Комбинация атрибутов XML, удалявших как предложения, так и панель предложений, сохраняя многострочный текст, была следующей:

android:privateImeOptions="nm"
android:inputType="textNoSuggestions | textMultiLine"

Ответ 3

Добавить android: inputType = "textNoSuggestions" в editext