I'm creating a layout
and have a header aligned on top, a footer aligned on bottom and want a View to take all the rest of the available space in the middle.
How do I do that without explicit passing the height attributes to each view?
My actual XML is:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
orientation="vertical">
<ImageView
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/library_header"
android:scaleType="fitXY" /&开发者_运维问答gt;
<ViewFlipper
android:id="@+id/content"
android:layout_height="0dip"
android:layout_width="match_parent"
android:layout_weight="1.0" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="44px"
android:layout_alignParentBottom="true"
android:background="@drawable/library_footer">
<Button
android:id="@+id/l_coverflow"
android:layout_width="44px"
android:layout_height="34px"
android:background="@drawable/library_coverflow_deselected"
android:layout_gravity="center" android:layout_marginLeft="12px" />
<Button
android:id="@+id/l_grid"
android:layout_width="36px"
android:layout_height="32px"
android:background="@drawable/library_grid_deselected"
android:layout_marginLeft="12px"
android:layout_gravity="center"
android:paddingLeft="10px" />
<Button
android:id="@+id/l_list"
android:layout_width="40px"
android:layout_height="32px"
android:background="@drawable/library_list_deselected"
android:layout_marginLeft="12px"
android:layout_gravity="center" />
</LinearLayout>
</LinearLayout>
It's very easy (I omitted the android: namespace prefix for brevity):
<LinearLayout
orientation="vertical"
layout_width="fill_parent"
layout_height="fill_parent">
<!-- Header goes here with height=wrap_content -->
<MiddleView
layout_width="fill_parent"
layout_height="0dip"
layout_weight="1.0" />
<!-- Footer goes here with height=wrap_content -->
</LinearLayout>
精彩评论