El margen no tiene impacto en "incluir"

Tengo una vista con los artículos. Utiliza "incluir", y estoy tratando de hacer un pequeño margen entre ellos. Sin embargo, "android: layout_marginTop" no parece tener ningún impacto en el diseño.

¿Qué estoy haciendo mal?

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <include android:id="@+id/article1" layout="@layout/mainarticle" /> <include android:id="@+id/article2" android:layout_marginTop="10dip" layout="@layout/article" /> <include android:id="@+id/article3" android:layout_marginTop="10dip" layout="@layout/article" /> <include android:id="@+id/article4" android:layout_marginTop="10dip" layout="@layout/article" /> <include android:id="@+id/article5" android:layout_marginTop="10dip" layout="@layout/article" /> </LinearLayout> 

Debe agregar los android:layout_width y android:layout_height en la etiqueta de include . De lo contrario, los márgenes no se tienen en cuenta.

Sin embargo, si desea reemplazar los atributos de diseño mediante la etiqueta <include> , debe sustituir android:layout_height y android:layout_width para que otros atributos de diseño tengan efecto.

https://developer.android.com/training/improving-layouts/reusing-layouts.html#Include

include soporte de etiquetas debajo de las propiedades:

  1. Cualesquiera atributos de android: layout_* que puedas sobrescribir.

  2. android:id atributo.

  3. Atributo de layout .
  4. android:visibility atributo de android:visibility .

Etc: include android:id=”@+id/news_title” android:layout_width=”match_parent” android:layout_height=”match_parent” layout=”@layout/title”/>

Por favor, lea: https://github.com/android/platform_frameworks_base/blob/master/core/java/android/view/LayoutInflater.java#L777
http://developer.android.com/training/improving-layouts/reusing-layouts.html

Tuve el mismo problema y la respuesta de Kamen Goranchev no funciona para mí.

He utilizado la función de ADT "Extract include …" del editor de diseño para extraer algunas insignias comúnmente utilizadas como una lista de TextView-elementos. Así que el Extract-include-tool envolvió mis TextView-Elements en un merge-tag , que por lo general estaría bien.

Pero, de acuerdo con el muy útil sourcecode-link de agua hervida veo en la línea 888 https://github.com/android/platform_frameworks_base/blob/master/core/java/android/view/LayoutInflater.java#L888 , el layout- Los atributos de la propia etiqueta de inclusión solo se analizan si la inclusión no tiene la etiqueta de combinación como su elemento raíz.

Así que he eliminado la fusión-etiqueta de la inclusión y utilizado otro ViewGroup-tag como por ejemplo FrameLayout. A continuación, los márgenes en la etiqueta de inclusión están funcionando como se esperaba.

Otra solución sería agregar Space before include :

  <Space android:layout_height="8dp" android:layout_width="match_parent" /> 
  • Android: es mejor hacer muchas actividades, o una actividad que cambia sobre la marcha?
  • RemoveAllViews y setContentView no funcionan
  • Cambiar el color del botón sin cambiar la forma en android
  • Impedir que las vistas se superpongan en RelativeLayout
  • Cómo descartar el relleno de los padres en el elemento de los niños
  • ¿Cómo hacer que Rotate3dAnimation sea más suave?
  • Edittext Mensaje de error de validación en android?
  • Respuesta de retorno de loopj asynchttpclient de Android
  • Cómo inhabilitar / suprimir las advertencias IDEA "Problemas de procesamiento"
  • ¿Existe una manera sencilla de medir la distancia entre un punto y un grupo VectorDrawable?
  • La interfaz de usuario del selector de fechas se rompe al azar
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.