Android arrange layout with height as percentage
You can use LinearLayout
and set the layout_weight as % in xml
As for the repeating background you can use tileMode
Example: Note that the weightSum is set to 100
, to indicate the total weight will be 100
. Having layout_weight=10
will give it 10%
space allocation.
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_gravity="bottom"
android:weightSum="100">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="10"
android:background="@drawable/bg"
android:orientation="horizontal"
android:tileMode="repeat" >
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="5" />
</LinearLayout>
You can achieve this with the new percent support library: https://developer.android.com/tools/support-library/features.html#percent
By doing something like this:
<android.support.percent.PercentRelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_alignParentBottom="true"
app:layout_heightPercent="11%"
app:layout_widthPercent="100%" />
</android.support.percent.PercentRelativeLayout>
if you want to divide height in percentage then you need a linear layout with orientation horizontal and add layout_weight for each item.
linear layout guide