Set slider drawer height
I have a slider drawer in my application. If I set wrap_content as a value for the layout_height field, the slider drawer will stretch on the whole screen. Using a constant as a height is not a good alternative either. Is it possible to have a slider drawer with the height of it's content?
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/frameLayout"
android:layout_gravity="bottom"
android:orientation="vertical">
<View
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/blue"/>
<SlidingDrawer
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:handle="@+id/handle"
android:content="@+id/content"
android:id="@+id/slide"
android:orientation="vertical">
<RelativeLayout android:id="@+id/handle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/list_header">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true&q开发者_JS百科uot;
android:layout_marginLeft="@dimen/padding"
android:textColor="@color/black"
android:textStyle="bold"
android:text="@string/ingredients_list_title"/>
<ImageView
android:id="@+id/handle_indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/padding"
android:src="@drawable/arrow_up"
/>
</RelativeLayout>
<RelativeLayout android:id="@+id/content"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/list_row_background">
<LinearLayout android:id="@+id/list_ant_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/gallery"
android:orientation="vertical">
<ListView
android:id="@+id/listview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="@drawable/divider"
android:cacheColorHint="@color/transparent"
android:fadingEdge="none"/>
</LinearLayout>
<Gallery
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_alignParentBottom="true"
android:background="@drawable/list_row_background"/>
</RelativeLayout>
</SlidingDrawer>
What's the container? A LinearLayout? Add another empty element, and give them both a weight of 1.
Use topOffset
attribute for SlidingDrawer.
like this.
<SlidingDrawer
...
android:topOffset="800px">
精彩评论