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.
Puede aplicar un centrado a cualquier Vista, incluido un Diseño, utilizando el atributo XML android: layout_gravity ". Probablemente desee darle el valor" center ".
Puede encontrar una referencia de valores posibles para esta opción aquí: http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html#attr_android:layout_gravity
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>