Android – Centre TextView Horizontalmente en LinearLayout

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 padre y la vista de texto se establece para centrarse. No estoy seguro de cual es el problema…

Lo que está sucediendo es que desde el TextView se está llenando todo el ancho de la LinearLayout interno que 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 del widget lo que realmente estás tratando de hacer es colocar el contenido en el centro que se puede lograr con android:gravity="center_horizontal" y el atributo android:layout_gravity puede ser eliminado.

 <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> 

Si coloca <TextView> en el centro en <Linearlayout> , primero ponga android:layout_width="fill_parent" obligatorio
No hay necesidad de 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 .

  • Agregar elementos de forma programática a scrollview top, pero no debe desplazarse a la parte superior
  • Elemento seleccionado en listview personalizado con barra de acción contextual
  • Cómo obtener programatically ancho y alto de relativo - Linear layout en android?
  • Android layout_weight comportment
  • Excepción al eliminar una vista de un LinearLayout en Android
  • Ajustar GridView a todos los tamaños de pantalla
  • Agregar un elemento CheckBox a ListView impide que pueda recibir ItemClick
  • Android ScrollView fillViewport no funciona
  • Disposición linear linear del androide dos artículos al lado de uno a
  • Medir una vista antes de renderizarla y obtener un espacio remanente (Android)
  • Android AdMob no muestra LinearLayout en la parte inferior
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.