Android: Edittext con centro de gravedad que no funciona en el dispositivo

En Android estoy usando una línea de edittext con la gravedad puesta al centro. En el Emulador esto funciona muy bien tanto la pista como un cursor parpadeante aparecen. Al probar en el dispositivo (Xperia X10) no aparece el texto de la pista ni el cursor parpadeante. El cursor parpadeante sólo muestra si introdujo algún texto en el editor.

Este es mi edittext, ¿puede alguien ver si algo falta?

<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:layout_gravity="center" > <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="numberDecimal" android:ellipsize="end" android:maxLines="1" android:gravity="center" android:layout_gravity="center" android:hint="Some hint text" ></EditText> </LinearLayout> 

Lo que quiero:

Esto es lo que quiero

Lo que obtengo con el código anterior (edittext vacío sin cursor):

El edittext no muestra el texto de la pista y no tiene ningún cursor parpadeante

Finalmente encontré la solución para que funcionara. Este EditText funciona para mí: (Probado en Sony Ericsson X10 y HTC Wildfire)

 <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="numberDecimal" android:digits="0123456789.," android:ellipsize="start" android:maxLines="1" android:gravity="center" android:hint="Some hint text" ></EditText> 

Pienso, usted debe fijar la gravedad del parentLayout de su EditText, al centro

EDIT:

 <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal" android:id="@+id/linearLayout"> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="numberDecimal" android:ellipsize="end" android:maxLines="1" android:hint="Some hint text"/> </LinearLayout> 

Espero que no sea demasiado tarde. Me encontré con este problema y no sé si es el mismo para todos los dispositivos, pero aparece EditText por defecto tiene relleno inferior .

Mi valor de texto de EditText siempre parecía estar ligeramente por encima del centro a pesar de que la gravedad de la gravedad para ser CENTER por lo que, además, establecer:

 myEditText.setPadding(0, 0, 0, 0); 

Esto lo arregló para mí, ahora mi EditText está perfectamente centrado: D

En lugar de añadir la gravedad en la etiqueta de estilo, agrega que dentro del archivo de diseño que funcionará

Traté una combinación de gravidades:

 android:gravity="top|center_horizontal" 

Mi intento anterior fue anidar el EditText dentro de un RelativeLayout y ponerlo al centro, pero no se veía tan bien, de esta manera funciona mejor para mí.

  • En el archivo XML, añada la gravedad CENTER_HORIZONTAL para definir la sugerencia a center.CURSORVISIBLE = false para que el cursor no sea visible cuando haga clic en la primera vez
  • En java use addTextChangedListener, cuando el usuario añade texto que cambia la gravedad del tiempo a la izquierda y también el cursor visible.

XML:

 <EditText android:id="@+id/email" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="EMAIL" android:textStyle="bold" android:gravity="center_horizontal" android:inputType="textEmailAddress" android:layout_margin="10dp" android:cursorVisible="false" /> 

JAVA:

 email.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { if (s.length() > 0) { // position the text type in the left top corner email.setGravity(Gravity.LEFT | Gravity.TOP); email.setCursorVisible(true); } else { // no text entered. Center the hint text. email.setGravity(Gravity.CENTER); email.setCursorVisible(false); } } }); 
  • TextInputLayout y AutoCompleteTextView
  • EditText en GridView: Cómo obtener valor de Multiple EditText
  • Establecer el valor del campo oculto con los datos correspondientes del elemento seleccionado de AutoCompleteTextView
  • EditText pierde contenido en desplazamiento en ListView
  • ¿Cómo conservar los datos de EditText sobre el cambio de orientación?
  • Android EditText en AlertDialog parece demasiado amplio
  • Saber cuándo se está editando el texto de edición
  • El cursor EditText se vuelve invisible en JellyBean
  • ¿Ha cambiado el nuevo Password visibility Toggle existente drawableRight para EditTexts?
  • Cómo crear EditText con esquinas redondeadas?
  • Ampliar vidrio para EditText como en iphone: ¿es posible dibujar fuera de una vista?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.