Как удалить подчеркивание из поля EditText в Android? - PullRequest
33 голосов
/ 31 марта 2011

Всякий раз, когда слово вводится в поле EditText, я всегда вижу подчеркивание под набираемым словом.Но когда я нажимаю пробел после этого слова, я больше не вижу подчеркивания.

Мое требование состоит в том, чтобы удалить это подчеркивание, когда пользователь печатает сообщение.что Смит подчеркнут.Но я не хочу, чтобы это произошло.

Ниже приведен xml, который я использую для поля AlertDialog.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<TextView 
    android:id="@+id/name_view"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_marginLeft="20dip"
    android:layout_marginRight="20dip"
    android:text="@string/alert_dialog_name"
    android:gravity="left"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
    android:id="@+id/username_edit"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:layout_marginLeft="20dip"
    android:layout_marginRight="20dip"
    android:scrollHorizontally="true"
    android:autoText="false"
    android:inputType="textPersonName"
    android:capitalize="none"
    android:gravity="fill_horizontal"
    android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>

enter image description here

Ответы [ 10 ]

59 голосов
/ 30 января 2015

android:inputType="textNoSuggestions"

16 голосов
/ 24 февраля 2013

Существует функция, которая удаляет любое состояние композиции.Я думаю, что если вы звоните после каждого раза, когда пользователь печатает, вы не увидите подчеркивания.Я использую его после того, как пользователь заканчивает набор текста, чтобы получить кеш чертежа всего textView (который мне нужен без подчеркивания).Это

someTextView.clearComposingText();
10 голосов
/ 01 апреля 2011

Вам не нужно использовать какую-либо логику для удаления подчеркивания - просто вызовите getText (). ToString (), когда вы хотите использовать значение.Он не будет включать в себя специальное форматирование или что-либо еще.

9 голосов
/ 23 сентября 2016

принятый ответ не является решением, а некоторые другие пользователи дали ответ, но никто не дал полный ответ, поэтому я пишу здесь рабочее решение.

Если вы хотите удалить подчеркивание, просто добавьте следующий код.

XML

android:inputType="textNoSuggestions"

Java

EditText ed;
ed = findViewById(yourId);
ed.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

Если вы хотите установить более одного типа ввода,

ed.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

Может быть, выше информация полезна для других.

2 голосов
/ 23 февраля 2018

Лучшее решение для этого - добавить на EditText:

 android:inputType="textMultiLine|textVisiblePassword"
2 голосов
/ 29 июля 2016

Используйте это из своего класса, если представление EditText является динамическим (создается из файла класса):

EditText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

ИЛИ включайте android:inputType="textNoSuggestions" с вашим EditText в XML.

1 голос
/ 13 мая 2019

Прочтите это, если хотите сохранить смайлики, и textNoSuggestions не работает для вас.

textNoSuggestions работает не на всех клавиатурах. inputType="textVisiblePassword" работает, но удаляет эмодзи с большинства клавиатур.

Я обнаружил, что настройка inputType="textUri" работает и сохраняет возможность добавлять смайлики.

0 голосов
/ 09 ноября 2017
<EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@null"
        android:imeOptions="actionDone"
        android:inputType="textNoSuggestions"
        android:maxLines="1"
        />
0 голосов
/ 09 ноября 2017

Вы можете установить EditText, чтобы иметь настраиваемый прозрачный рисунок или просто использовать android: background = "@ android: color / transparent".

0 голосов
/ 22 марта 2016

попробуй:

android:inputType= InputTypes.TextVariationVisiblePassword;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...