Android Ice Cream Sandwich Edittext: Отключение проверки орфографии и Word Wrap
Во время тестирования на Android Emulator под управлением Android 4.0 (Ice Cream Sandwich) я заметил, что Edittext делает довольно странные вещи.
Во-первых, оно подчеркивает каждое слово, обозначенное как "опечатка" красным цветом. Как мне это отключить?
Во-вторых, хотя в макете XML, который я указал, включено включение переноса слов android:scrollHorizontally="true"
: как мне это тоже отключить? Вот XML-код макета для текста редактирования:
<EditText
android:id="@+id/editor"
android:layout_width="40dp"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:layout_below="@+id/toolbar"
android:layout_toRightOf="@+id/toolbarleft"
android:paddingBottom="0dp"
android:paddingRight="0dp"
android:scrollHorizontally="true"
android:text=""
android:inputType="textMultiLine" >
<requestFocus />
</Edittext>
Вот пример проверки орфографии, которую мне нужно отключить:
![Demonstration of Spell-Checker]()
(источник: abstract-oughtts.com)
Большое спасибо!
Ответы
Ответ 1
Отключение проверки орфографии
Чтобы избавиться от проверки орфографии, вы должны указать EditText InputType в XML следующим образом:
android:inputType="textNoSuggestions"
Однако мой EditText также должен быть многострочным, поэтому я добавил следующую строку в XML файл EditText:
android:inputType="textMultiLine|textNoSuggestions"
Отключение Word-Wrap
Как уже отмечалось, атрибут XML android:scrollHorizontally="true"
не работает. Однако, как ни странно, если это делается через Java, это действительно работает. Вот нужный код, чтобы не допустить переноса слов:
mEditText.setHorizontallyScrolling(true);
Ответ 2
Отключение проверки орфографии в EditText.
В Android 4.0+
иногда я получаю красную подчеркивание в своем текстовом виде, поэтому добавляю свойство...
android:inputType="textNoSuggestions"
textNoSuggestions: чтобы указать, что IME не должен показывать никаких словарные предложения слов.
Вот список возможных свойств, которые мы можем определить в:
android: inputType
Отключение Word-Wrap
помните, что свойство android:scrollHorizontally="true"
не работает, поэтому это решение:
mEditText.setHorizontallyScrolling(true);
Ответ 3
В вашем классе Java вы можете добавить объект Edittext...
wire1type = (EditText)findViewById(R.id.wire1type);
wire1type.setInputType( ~(InputType.TYPE_TEXT_FLAG_AUTO_CORRECT) );
Это очищает флаг автозамены и будет работать в API 4.
Ответ 4
android:inputType="textMultiLine|textPhonetic"
удалил все красные подчеркивания для меня.
android:inputType="textMultiLine|textNoSuggestions"
создает ошибку компиляции.
Я использую Android API 1.6.
Ответ 5
Отключение проверки орфографии для общего ввода текста по коду:
mEditText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
Ответ 6
удалите android:inputType=""
, и все должно быть хорошо.
Ответ 7
Чтобы отключить перенос строк, вы должны обернуть (каламбур не предназначен) ваш EditText с помощью HorizontalScrollView и установить layout_width в match_parent.