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