programacion - manual de android en pdf
Android: Centre TextView horizontalmente en LinearLayout (4)
Lo que sucede es que, dado que TextView está ocupando todo el ancho del LinearLayout interno, ya está en el centro horizontal del diseño . Cuando usas android:layout_gravity
coloca el widget, como un todo, en la gravedad especificada. En lugar de colocar todo el centro de widgets, lo que realmente intenta hacer es colocar el contenido en el centro, lo que se puede lograr con android:gravity="center_horizontal"
y el atributo android:layout_gravity
se puede eliminar.
Tengo el siguiente diseño básico
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/title_bar_background">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textAppearance="?android:attr/textAppearanceLarge"
android:padding="10dp"
android:text="HELLO WORLD" />
</LinearLayout>
<LinearLayout>
Parece que el xml es correcto, pero el texto está alineado a la izquierda. La vista de texto ocupa todo el ancho del elemento principal y la vista de texto está configurada para centrarse. No estoy seguro de cual es el problema...
Si configura <TextView>
en el centro en <Linearlayout>
, primero coloque android:layout_width="fill_parent"
obligatorio
No es necesario usar ninguna otra gravedad
<LinearLayout
android:layout_toRightOf="@+id/linear_profile"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:orientation="vertical"
android:gravity="center_horizontal">
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="It''s.hhhhhhhh...."
android:textColor="@color/Black"
/>
</LinearLayout>
Usa android:gravity="center"
en TextView
en lugar de layout_gravity
.
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/title_bar_background">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceLarge"
android:padding="10dp"
android:text="HELLO WORLD" />
</LinearLayout>