Как отключить отображение "предложений" на Soft Keyboard
Я хочу отключить отображение "Рекомендуемые слова" на мягкой/виртуальной клавиатуре, когда кто-то использует мое приложение (только на определенном Activities
). Для стандартной клавиатуры Android это можно найти в разделе "Настройки" (в разделе "Настройки предложения Word" ).
Есть ли способ отключить его только в вашем приложении, не требуя от пользователя вручную идти и делать это? Я в основном хочу, чтобы пользователь вводил слова без каких-либо намеков.
Спасибо!
Ответы
Ответ 1
При разработке для 2.0+ предполагаемый способ устанавливает android:inputType="textNoSuggestions"
(ref).
К сожалению, предложения по-прежнему отображаются на HTC Desire 2.2 (и, возможно, на других устройствах HTC Sense).
Использование android:inputType="textVisiblePassword"
не поможет, так как программная клавиатура от HTC не позволит вам переключать языки.
Поэтому я придерживаюсь android:inputType="textFilter"
, чтобы отключить предложения.
Ответ 2
Вы можете отключить предложения на Soft Keyboard, добавив следующую строку в xml -
android:inputType="textNoSuggestions"
Однако, согласно этой статье, она может или не может поддерживаться IME (клавиатурой).
Если эта проблема возникает, метод ниже работает точно -
android:inputType="textNoSuggestions|textVisiblePassword"
Ответ 3
Это работает для меня с клавиатурой, даже на HTC с 2.2
final EditText et = (EditText) findViewById(R.id.SearchText);
et.setInputType(et.getInputType()
| EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS
| EditorInfo.TYPE_TEXT_VARIATION_FILTER);
Ответ 4
Есть два способа, с помощью которых я могу отключить автозаполнение. Один из способов - через XML, установив android: inputType = "textVisiblePassword" в макете xml.
Другим способом является код, например, следующий
EdtiText editTextBox = findViewById(R.id.myEditTextView);
editTextBox.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
Ответ 5
На моем 6P, работающем с Nougat, ничего не получилось. Пока он пуст, панель предложений остается, потому что у нее есть значок микрофона с правой стороны.
Чтобы избавиться от этого, я использовал предложение пальца в одном из комментариев, и это сработало!
Поэтому я решил написать реальный ответ, чтобы люди не пропустили его.
Чтобы воспроизвести здесь то, что я использовал:
android:inputType="textNoSuggestions|textFilter|textVisiblePassword"
android:privateImeOptions="nm"
inputType="textNoSuggestions|textFilter|textVisiblePassword"
предупреждает о предложениях, а privateImeOptions="nm"
(означает "нет микрофона" ) препятствует появлению полосы, потому что она по-прежнему будет, так как в ней находится микрофонная кнопка.
Таким образом, необходимо использовать оба атрибута, потому что, если все, что вы делаете, не задает микрофон, тогда панель все еще отображается с рекомендациями.
спасибо снова к fingerup, чтобы упомянуть трюк nm.;)
Ответ 6
android:inputType="textPhonetic"
скрывает предложения мягкой клавиатуры на Android 1.6.
Ответ 7
Если вы используете InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS в действии, он будет работать нормально.
В случае DialogFragment вы должны поместить InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS в
onActivityCreated(), как показано ниже: -
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
EditText editTextUsername = (EditText)dialogView.findViewById(R.id.txtUsername);
editTextUsername.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
}
Ответ 8
надеюсь, что это сработает для вас,
editText.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_CAP_SENTENCES|InputType.TYPE_TEXT_FLAG_MULTI_LINE|InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);