创建可变大小的标头

时间:2014-01-23 17:26:23

标签: android android-layout

我有两个不同的观点,一个在另一个之上。它们之间必须适合整个屏幕。 Bottom上的视图是一个ListView,可能包含任意数量的元素。标题或顶视图是至少最小大小为120dp且最大为300dp的重叠图像,但调整大小(和裁剪)以适合底部视图未使用的任何空间。

我当前的xml无效。

<RelativeLayout
    android:id="@+id/left_drawer"
    android:layout_width="300dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="@color/drawer_background"
    android:orientation="vertical">

    <FrameLayout
        android:id="@+id/header_image_holder"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:minHeight="120dp"
        android:visibility="gone"
        android:focusable="true"
        android:clickable="true">

        <com.android.volley.toolbox.NetworkImageView
            android:id="@+id/header_image"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:adjustViewBounds= "true"
            android:maxHeight="300dp"
            android:scaleType="centerCrop" />

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom">

            <TextView
                android:layout_width="230dp"
                android:layout_height="wrap_content"
                android:id="@+id/header_name" />

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_alignParentRight="true">

                <ImageView
                    android:id="@+id/header_name_separator"
                    android:layout_width="6dp"
                    android:layout_height="match_parent"
                    android:layout_gravity="center_vertical" />

                <ToggleButton
                    android:id="@+id/header_button"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:background="@android:drawable/ic_lock_idle_low_battery"
                    android:textOff=""
                    android:textOn="" />

            </LinearLayout>


        </RelativeLayout>
    </FrameLayout>

    <ListView
        android:id="@+id/drawer_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/event_image_holder" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

最后,我不得不手动要求测量锚定的ListView和屏幕大小,并通过应用程序中的几个点动态调整元素大小。