Margin does not impact in “include”
I have a view with articles. It uses “include”, and I’m trying to make a little margin between them. However, “android:layout_marginTop” does not seem to have any impact on the layout.
What am I doing wrong?
<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>
4 Solutions collect form web for “Margin does not impact in “include””
You should add the
android:layout_height attributes in the
include tag. Otherwise, the margins are not taken into consideration.
However, if you want to override layout attributes using the
<include>tag, you must override both
android:layout_widthin order for other layout attributes to take effect.
include tag support below properties:
layout_*attributes which you can overwrite.
I had the same problem and the answer from Kamen Goranchev doesn’t work for me.
I have used ADT’s feature “Extract include…” from the layout editor to extract some commonly used badges as a list of TextView-elements. So the Extract-include-tool wrapped my TextView-Elements in a merge-tag, which usually would be fine.
But, according to the very helpful sourcecode-link from boiledwater I see in line 888 https://github.com/android/platform_frameworks_base/blob/master/core/java/android/view/LayoutInflater.java#L888, the layout-attributes from the include-tag itself are only parsed if the include doesn’t have the merge-tag as its root-element.
So I removed the merge-tag from the include and used another ViewGroup-tag like e.g. FrameLayout. Then the margins in the include-tag are working as expected.
Another solution would be to add
<Space android:layout_height="8dp" android:layout_width="match_parent" />