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

Как отключить отображение "предложений" на Soft Keyboard

Я хочу отключить отображение "Рекомендуемые слова" на мягкой/виртуальной клавиатуре, когда кто-то использует мое приложение (только на определенном Activities). Для стандартной клавиатуры Android это можно найти в разделе "Настройки" (в разделе "Настройки предложения Word" ).

Есть ли способ отключить его только в вашем приложении, не требуя от пользователя вручную идти и делать это? Я в основном хочу, чтобы пользователь вводил слова без каких-либо намеков.

Спасибо!

4b9b3361

Ответ 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);