Centrar un botón en un diseño lineal

Estoy usando un diseño lineal para mostrar una pantalla inicial bastante ligera. Tiene 1 botón que se supone que se centra en la pantalla tanto horizontal como verticalmente. Sin embargo, no importa lo que intente hacer, el botón se alineará en el centro superior. He incluido el siguiente XML, ¿puede alguien señalarme en la dirección correcta?

    

Si desea centrar un elemento en el medio de la pantalla, no use LinearLayout ya que están diseñados para mostrar una cantidad de elementos en una fila.

Use un RelativeLayout lugar.

Entonces reemplace:

 android:layout_gravity="center_vertical|center_horizontal" 

para la opción relevante RelativeLayout :

 android:layout_centerInParent="true" 

Entonces su archivo de diseño se verá así:

     

Centro utilizando LinearLayout:

    

¿Has intentado definir android:gravity="center_vertical|center_horizontal" dentro del diseño y establecer android:layout_weight="1" en la imagen?

Un método comúnmente utilizado que funciona con diseño lineal es establecer una propiedad en el botón de imagen

 android:layout_gravity="center" 

Puede elegir si alinear a la izquierda, alinear al centro o alinear a la derecha cada objeto en el diseño lineal. Tenga en cuenta que la línea anterior es exactamente la misma que

 android:layout_gravity="center_vertical|center_horizontal" 

Agrega esto

 android:gravity="center" 

En LinearLayout.

fácil con esto

      

Puedes usar RelativeLayout .

      

El código anterior funcionará.

muestra completa y de trabajo de mi máquina …

          

Según la documentación de Android para atributos XML de android: layout_gravity , podemos hacerlo fácilmente 🙂

     

Si usa LinearLayout , puede agregar el centro de gravedad:

   ` 

También puedes probar este código:

         

solo use (para hacerlo en el centro de su diseño)

  android:layout_gravity="center" 

y use

  android:layout_marginBottom="80dp" android:layout_marginTop="80dp" 

para cambiar la posición

Establezca en true android:layout_alignParentTop="true" y android:layout_centerHorizontal="true" en el botón, así:

    

enter image description here

También puede establecer el ancho de LinearLayout en wrap_content y usar android:layout_centerInParent , android:layout_centerVertical="true" :

   

¿Has intentado esto?

                

utilizar

android: layout_centerHorizontal = “true”

Sería más fácil usar diseños relativos, pero para los diseños lineales generalmente me centraré asegurándome de que el ancho coincida con el padre:

  android:layout_width="match_parent" 

y luego solo da márgenes a derecha e izquierda en consecuencia.

  android:layout_marginLeft="20dp" android:layout_marginRight="20dp"