studio programacion herramientas fundamentos con avanzado aplicaciones android android-layout android-view

programacion - manual de android en pdf



¿Cómo centrar una vista dentro de un diseño de Android? (8)

Quiero poner un diseño en el centro de la pantalla.


Respuesta actualizada: Diseño de restricción

Parece que la tendencia en Android ahora es usar un diseño de Restricción. Aunque es lo suficientemente simple como para centrar una vista mediante un RelativeLayout (como se ha mostrado en otras respuestas), el ConstraintLayout es más poderoso que el RelativeLayout para diseños más complejos. Entonces vale la pena aprender cómo hacerlo ahora.

Para centrar una vista, simplemente arrastre los controles a los cuatro lados del elemento principal.


Agregue android: layout_centerInParent = "true" al elemento que desea centrar en RelativeLayout


Funcionará para ese código que a veces necesita ambas propiedades

android:layout_gravity="center" android:layout_centerHorizontal="true"


Pude centrar una vista usando

android:layout_centerHorizontal="true"

y

android:layout_centerVertical="true"

params.



Si quieres centrar una vista, utiliza esta. En este caso, TextView debe ser la vista más baja en su XML porque layout_height es match_parent.

<TextView android:id="@+id/tv_to_be_centered" android:layout_height="match_parent" android:layout_width="match_parent" android:gravity="center" android:text="Some text" />


Paso # 1: Envuelve lo que quieras centrado en la pantalla en un RelativeLayout pantalla completa.

Paso # 2: Dale a esa vista secundaria (la que deseas centrada dentro del RelativeLayout ) el android:layout_centerInParent="true" .


<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/relLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"> <ProgressBar android:id="@+id/ProgressBar01" android:layout_centerInParent="true" android:layout_width="wrap_content" android:layout_gravity="center" android:layout_height="wrap_content"></ProgressBar> <TextView android:layout_below="@id/ProgressBar01" android:text="@string/please_wait_authenticating" android:id="@+id/txtText" android:paddingTop="30px" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> </RelativeLayout>