2010-08-31 11 views
45

Mi EditText configurado de la siguiente manera no se mostrará la pista:EditarTexto pista no muestra

<EditText 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="right" 
    android:hint="The hint..." 
    android:scrollHorizontally="true" 
    android:singleLine="true" /> 

Funciona si fijo android:gravity="left" o si quito android:scrollHorizontally y android:singleLine atributos, lo cual no es deseable. ¿Alguna sugerencia?

+4

puedo confirmar que 'editText' no muestra la pista cuando' 'gravity' es center' o' 'right' y singleLine' se establece. También estoy buscando una solución. – Justin

+2

Ya no puedo editar mi último comentario, pero quería mencionar que este es un problema conocido: http://code.google.com/p/android/issues/detail?id=7252 – Justin

Respuesta

2

No es necesario el atributo android:scrollHorizontally. Eliminarlo EditText es un elemento fijo en la pantalla. queremos que el desplazamiento del diseño contenga EditText sea suficiente. ese es el mejor diseño también. ha puesto android:ellipsize="end" en lugar de android:scrollHorizontally.

+1

No, eso no es todo. Si lee la documentación http://developer.android.com/reference/android/R.styleable.html#TextView_scrollHorizontally, cuando el texto que escribe no se ajusta al campo, el atributo android: scrollHorizontally permite que el texto se desplace dentro del campo (sin barras de desplazamiento, por supuesto). No tiene nada que ver con el diseño de desplazamiento. – venuko

17

Quería que mi caja de una sola línea EditText se desplazara pero mantuviera la sugerencia a la derecha también. Tuve el mismo problema y recibí la sugerencia de mantener gravity="right", y establecer singleLine="true" y ellipsize="end".

70

usando android:ellipsize="end" lo arreglaron para mí Weird bug !! (pero Android tiene muchos de estos bichos raros)

+0

después de agregar esta etiqueta, puedo ver la pista en el emulador pero todavía no tuve suerte con el dispositivo real (es decir, sony ericsson xperia) – swiftBoy

+0

"android: ellipsize" la propiedad funciona para mí ... extraño ...! – Vishal

1

Así es como lo hice por EditText para tener una pista.

<EditText 
    android:id="@+id/productQuantity" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="right|center_vertical" 
    android:hint="@string/quantity" 
    android:inputType="numberSigned" 
    android:ellipsize="end" 
    android:singleLine="true" > 
</EditText> 

Screenshot of what the above code should look like

2

El uso de Android: ellipsize = "Fin" se resuelve el error plataforma obvia. Por desgracia, todavía se portan mal :(Xperias

he encontrado ninguna otra solución que:

if (android.os.Build.MANUFACTURER.matches(".*[Ss]ony.*")) 
     editText.setGravity(Gravity.LEFT); 
else 
     editText.setGravity(Gravity.CENTER); 
1

La continuación trabajó para mí:

<EditText 
    android:id="@+id/UserText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_alignRight="@+id/UserPassword" 
    android:layout_marginTop="85dp" 
    android:ems="10" 
    android:hint="@string/UserHint" 
    android:inputType="textPersonName" 
    android:singleLine="true" 
    android:text="@string/UserName" > 

    <requestFocus /> 
</EditText> 
41

En la versión Lollipop el color del texto y el texto predeterminados pista es blanco para EditText. así que tenemos que cambiar como este en EditText

android:textColorHint="@color/grey" 
+4

esto funcionó en mi caso –

+2

Esto funcionó para mí también – allemattio

+1

Funcionó para mí. Comportamiento extraño. Solo una de mis aplicaciones tuvo este problema, pero se resolvió con esto. Me pregunto qué está pasando realmente detrás. – March3April4

1

que necesita para dar el color del texto para insinuar

android:textColorHint="#000000" 
+0

Eso no es suficiente para Android 2.3 (Probé en HTS Desire S). También debería agregar Android: ellipsize = "end". – CoolMind