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

6 Solutions collect form web for “Android: Edittext con centro de gravedad que no funciona en el dispositivo”

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); } } }); 
  • No se puede hacer clic en EditText después de añadirlo a WindowManager.
  • Cómo ocultar el teclado predeterminado de ListViewAdapter en android
  • Resaltar Textview con EditText
  • El teclado flexible de Android no se mostrará en 2.2 / 2.3, pero sí en 3.0+
  • Cómo hacer que EditText no cambie su tamaño automáticamente
  • Cómo capturar el evento onclick en disabled EditText en la aplicación de Android
  • android: alineación del texto en edittext
  • Ampliar vidrio para EditText como en iphone: ¿es posible dibujar fuera de una vista?
  • Cómo detener la entrada después de que la longitud de EditText cruza un límite
  • Android TextInputLayout Cambiar contraseña no visible en la nueva biblioteca de soporte
  • Cómo agregar texto con formato en el texto de edición?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.