La característica "include" de diseño no admite la propiedad layout_gravity?

<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <include layout="@layout/view1" android:layout_gravity="center_vertical" /> <include layout="@layout/view2" android:layout_gravity="center_vertical" /> </LinearLayout> 

Así, android: layout_gravity siempre será ignorado? Eso es realmente malo para la reutilización de código … Parece que layout_margin tampoco es compatible.

Y aquí está el diseño de view1.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:minHeight="45dip" android:background="@drawable/updater_background" > <ProgressBar style="?android:attr/progressBarStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginRight="7dip" android:visibility="gone" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" /> </LinearLayout> 

Dos años más tarde, el error todavía existe! Aunque todos los atributos de android: layout_ * deben ser Tag, el atributo androide: layout_gravity no es (qué tipo de es una gran desventaja para la reutilización de diseño).

El trabajo alrededor de que estoy utilizando actualmente es fijar el margen de la disposición programmatically como sigue:

 ( (LinearLayout.LayoutParams) includedView.getLayoutParams () ).gravity = Gravity.BOTTOM | Gravity.RIGHT; 

O para un FrameLayout como padre, por ejemplo:

 ( (FrameLayout.LayoutParams) includedView.getLayoutParams () ).gravity = Gravity.BOTTOM | Gravity.RIGHT; 

EDIT:

También he encontrado que el atributo androide: layout_gravity se aplica para la etiqueta include if it (la etiqueta include ) tiene etiquetas layout_width y layout_height !

http://developer.android.com/resources/articles/layout-tricks-reuse.html indica que todos los atributos de layout_ son compatibles.

En su caso el centrar en un LinearLayout horizontal probablemente no tiene efecto. Pruebe otro diseño otros parámetros.

Creo que esto puede ser resuelto mediante la inserción de diseño ponderado

Por ejemplo

 <LinearLayout android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.sample.SampleActivity"> <LinearLayout android:layout_weight="1" android:layout_width="match_parent" android:layout_height="0dp"> <--Some other Views--> </LinearLayout> <include android:layout_width="match_parent" android:layout_height="wrap_content" layout="@layout/my_awesome_layout" /> 

El LinearLayout se puede reemplazar por Espacio, si no desea ningún componente.

  • Importar Facebook SDK en Android Studio 0.5.1
  • Cómo acceder al botón dentro de "incluir" el diseño
  • NullPointerException lanzado en Eclipse al intentar abrir la vista de Android XML?
  • Encabezado ifaddrs.h no encontrado al compilar SDL para android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.