2011-03-31 64 views
25

Cada vez que se escribe una palabra en el cuadro Editar texto, siempre veo un subrayado debajo de la palabra que se escribe. Pero cuando presiono un espacio después de esa palabra, ya no veo el subrayado.¿Cómo eliminar el subrayado del campo EditText en Android?

Mi petición es eliminar esa línea cuando el usuario esté escribiendo el mensaje.

Se agregó la captura de pantalla y vemos que Smith está subrayado. Pero no quiero que esto suceda.

A continuación se muestra el xml que utilizo para el cuadro 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

+1

La aparición de las palabras se escribe en la actualidad (al menos con autocompletar en) varía de un dispositivo a otro. En HTC SenseUI en Android 2.2, por ejemplo, la palabra actual en consideración de autocompletar se muestra con un resaltado verde. ¿Por qué le gustaría jugar con lo que el usuario espera ver en el dispositivo/teclado en particular al que está acostumbrado? –

+0

Solo quiero usar lo que el usuario escriba y enviarlo al servidor, no quiero que se escriba ninguna lógica para eliminar la última palabra subrayada. – Sana

+1

Esto es IME-specific. Si desea que el IME interfiera lo menos posible, puede usar un 'inputType' diferente, pero en este caso, está usando el tipo correcto, y hace lo que cree que es mejor para este tipo particular de entrada, y eso es lo que el usuario esperará también. – EboMike

Respuesta

7

Usted no tiene que utilizar cualquier lógica para eliminar los subrayados - sólo llame getText() toString() cuando se desea utilizar el valor.. No incluirá formato especial ni nada.

13

Hay una función que elimina cualquier estado de composición. Creo que si lo llamas después de cada vez que un usuario escribe, no verás el subrayado. Lo uso después de que el usuario termine de escribir, para obtener el caché de dibujo de todo el textView (que necesito sin subrayar). Es

someTextView.clearComposingText(); 
54

android:inputType="textNoSuggestions"

+2

Eso resolvió el problema perfectamente para mí. –

+1

funciona perfectamente –

+0

Gracias hombre eres el mejor –

0

intento:

android:inputType= InputTypes.TextVariationVisiblePassword; 
2

uso esto de su clase, si vista EditarTexto es dinámica (creado a partir de archivo de clase):

EditText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); 

o incluir android:inputType="textNoSuggestions" con su EditText en XML.

9

respuesta aceptada no se da solución, y alguna otra respuesta dada por el usuario pero no se da respuesta completa, por eso escribo aquí la solución de trabajo.

Si desea eliminar el subrayado, simplemente agregue el código siguiente.

XML

android:inputType="textNoSuggestions" 

Java

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

Si desea establecer más de un tipo de entrada a continuación,

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

La información anterior es útil para los demás.

0

Puede configurar EditText para que tenga un dibujable transparente personalizado o simplemente use android: background = "@ android: color/transparent".

-1
<EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@null" 
     android:imeOptions="actionDone" 
     android:inputType="textNoSuggestions" 
     android:maxLines="1" 
     /> 
+3

Necesita explicar su código, no solo arrojarlo. –

+0

qué inputType has dado, está bien, pero también necesitas dar textSugerencias usando o symbol (|) y luego subrayará. –

-1

La mejor solución para esto es añadir en su EditText:

android:inputType="textMultiLine|textVisiblePassword" 
+0

Hola, bienvenido a Stack Overflow y gracias por su respuesta. Las respuestas excelentes también incluyen una explicación de cuál fue el error con la pregunta original y por qué esta respuesta la aborda. – Spangen

Cuestiones relacionadas