Comment supprimer le soulignement du champ EditText dans Android?
Chaque fois qu'un mot est tapé dans l'EditText boîte, je vois toujours un soulignement sous le mot tapé. Mais quand j'appuie sur un espace après ce mot, je ne vois plus le soulignement.
mon exigence est de supprimer ce soulignement lorsque l'utilisateur tape le message.
Ajout est la capture d'écran et nous voyons que Smith est souligné. Mais je ne veux pas que cela se produise.
ci-dessous est le xml que j'utilise pour L'AlertDialog boîte.
<?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>
9 réponses
vous n'avez pas besoin d'utiliser de logique pour supprimer les soulignements -- il suffit d'appeler getText().toString() lorsque vous souhaitez utiliser la valeur. Il ne comprend pas de formatage spécial ou quoi que ce soit.
Il existe une fonction qui supprime tout état de composition. Je pense que si vous appelez après chaque fois qu'un utilisateur, vous ne verrez pas le souligner. Je l'utilise après que l'Utilisateur a fini de taper, pour obtenir le cache de dessin de l'ensemble de textView (dont j'ai besoin sans souligner).
someTextView.clearComposingText();
réponse acceptée n'est pas donné solution, et un autre utilisateur donné réponse, mais personne donné anser complet, donc c'est pourquoi j'écris ici solution de travail.
si vous voulez supprimer le soulignement, ajoutez simplement le code ci-dessous.
XML
android:inputType="textNoSuggestions"
Java
EditText ed;
ed = findViewById(yourId);
ed.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
Si vous souhaitez configurer plus d'un type d'entrée puis,
ed.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
Peut-être au-dessus de l'information est utile pour les autres.
utilisez ceci depuis votre classe, si la vue EditText est dynamique (créée à partir du fichier de classe):
EditText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
ou inclure android:inputType="textNoSuggestions"
avec votre texte édité en XML.
La meilleure solution pour cela est d'ajouter sur votre EditText
:
android:inputType="textMultiLine|textVisiblePassword"
essaie:
android:inputType= InputTypes.TextVariationVisiblePassword;
vous pouvez paramétrer L'EditText pour avoir un drawable transparent personnalisé ou tout simplement utiliser android:background="@android:color/transparent".
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:imeOptions="actionDone"
android:inputType="textNoSuggestions"
android:maxLines="1"
/>