Necesita ayuda para centrar un EditText en un Layout Lineal

Estoy tratando de centrar un edittext vertical y horizontalmente en un diseño lineal, pero no está funcionando. Muy simple problema realmente.

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="@drawable/login"> <EditText android:layout_width="150dp" android:layout_height="wrap_content" android:background="@drawable/loginbutton" android:text="Username" android:layout_gravity="center" android:textSize="25dp" android:gravity="center_horizontal|center_vertical" android:textColor="#000000" android:layout_margin="10dp" android:id="@+id/username"> </EditText> 

Voy a intentar cambiar a un relativelayout en el tiempo medio.

3 Solutions collect form web for “Necesita ayuda para centrar un EditText en un Layout Lineal”

LinearLayout no soporta el centrado en la dirección en que apila elementos hasta donde yo sepa. A menos que el LinearLayout es crucial (que en su caso no debería ser, ya que también necesita el centrado), le recomendaría cambiar a RelativeLayout .
Con un RelativeLayout , puede establecer el atributo android:layout_centerInParent="true" en el EditText para EditText .

El uso de la gravedad afecta la gravedad del contenido de dicho elemento de la interfaz de usuario, esto significa (en este caso) que el texto dentro del EditText se centrará. Con el fin de centrar el elemento de la interfaz de usuario en sí tiene que definir layout_gravity como esta es la gravedad de un elemento de interfaz de usuario mantiene dentro de su padre. El código publicado por el OP hará el centro horizontal pero no el centro vertical.

Como alternativa, puede utilizar RelativeLayout

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/login" android:orientation="vertical" > <EditText android:id="@+id/username" android:layout_width="150dp" android:layout_height="wrap_content" android:layout_margin="10dp" android:background="@drawable/loginbutton" android:layout_centerInParent="true" android:text="Username" android:textColor="#000000" android:textSize="25dp" > </EditText> </RelativeLayout> 

Prueba esto:

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="@drawable/login" android:layout_centerVertical="true" android:layout_centerInParent="true"> 
  • Android: Selección de spinner alineada a la izquierda
  • Configuración de la gravedad de ImageView en el centro de android mediante programación
  • Android Spinner Gravity No funciona
  • ¿Es posible especificar valores de gravedad múltiples en el elemento spinner custom_style.xml?
  • ¿Cuál es la diferencia entre sensores de "gravedad" y "aceleración" en Android?
  • Android - Centro de vista de texto en LinearLayout
  • ¿Qué es TextView Gravity de forma predeterminada?
  • Alinear botones en GridLayout
  • Configuración de la gravedad del centro de la vista de los niños Cambiar la alineación del diseño de otra vista de los niños en la disposición horizontal?
  • TextView setGravity () no funciona en java
  • ¿Cuál es la diferencia exacta entre gravedad y layout_gravity
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.