列表视图内部相对布局和滚动视图不覆盖屏幕

时间:2017-12-15 10:02:47

标签: android listview scroll

我有以下布局

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">

<!-- The main content view -->
<FrameLayout
    android:id="@+id/content_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/searchScreenBG">

        <RelativeLayout
            android:id="@+id/title_bar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_marginBottom="@dimen/_7sdp">

            <ImageButton
                android:id="@+id/ib_hamburger"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true"
                android:layout_marginEnd="@dimen/_16sdp"
                android:layout_marginRight="@dimen/_16sdp"
                android:layout_marginTop="@dimen/_15sdp"
                android:background="@android:color/transparent"
                android:contentDescription="@null"
                app:srcCompat="@drawable/ham_burger" />

            <com.rod.com.rod.ui.views.CTextView
                android:id="@+id/textView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/ib_hamburger"
                android:layout_centerHorizontal="true"
                android:text="@string/basic_details"
                android:textColor="@color/colorGreen" />

            <ImageButton
                android:id="@+id/ib_back"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignTop="@+id/ib_hamburger"
                android:layout_marginLeft="@dimen/_16sdp"
                android:layout_marginStart="@dimen/_16sdp"
                android:background="@android:color/transparent"
                android:contentDescription="@null"
                app:srcCompat="@drawable/left_arrow" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/reg_no_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/_5sdp"
            android:layout_below="@+id/title_bar"
            android:background="@color/colorWhite">

            <TextView
                android:id="@+id/tv_reg_no"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="19dp"
                android:textColor="@color/colorLightGrey" />
        </RelativeLayout>

        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_below="@+id/reg_no_layout"
            >
            <LinearLayout android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:orientation="vertical"
                android:layout_marginRight="@dimen/_10sdp"
                android:layout_marginLeft="@dimen/_10sdp"
                android:layout_weight="1">

                <RelativeLayout
                    android:id="@+id/basic_details"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_marginTop="@dimen/_10sdp"
                    android:background="@drawable/list_item_bg"
                    android:paddingBottom="@dimen/_10sdp">

                    <TextView
                        android:id="@+id/tv_district_label"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentLeft="true"
                        android:layout_alignParentStart="true"
                        android:layout_alignParentTop="true"
                        android:layout_marginLeft="50dp"
                        android:layout_marginStart="50dp"
                        android:layout_marginTop="11dp"
                        android:text="@string/district"
                        android:textColor="@color/colorBlack"
                        android:textSize="@dimen/_13sdp" />

                    <TextView
                        android:id="@+id/tv_district"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignLeft="@+id/tv_district_label"
                        android:layout_alignStart="@+id/tv_district_label"
                        android:layout_below="@+id/tv_district_label"
                        android:text="TextView"
                        android:textColor="@color/colorLightGrey" />

                    <TextView
                        android:id="@+id/tv_tehsil_label"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_above="@+id/tv_district"
                        android:layout_alignParentEnd="true"
                        android:layout_alignParentRight="true"
                        android:layout_marginEnd="75dp"
                        android:layout_marginRight="75dp"
                        android:text="@string/tehsil"
                        android:textColor="@color/colorBlack" />

                    <TextView
                        android:id="@+id/tv_tehsil"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignBottom="@+id/tv_district"
                        android:layout_alignLeft="@+id/tv_tehsil_label"
                        android:layout_alignStart="@+id/tv_tehsil_label"
                        android:text="TextView"
                        android:textColor="@color/colorLightGrey" />

                    <TextView
                        android:id="@+id/tv_date_label"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignLeft="@+id/tv_district"
                        android:layout_alignStart="@+id/tv_district"
                        android:layout_below="@+id/tv_district"
                        android:layout_marginTop="13dp"
                        android:text="@string/date"
                        android:textColor="@color/colorBlack" />

                    <TextView
                        android:id="@+id/tv_date"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignLeft="@+id/tv_date_label"
                        android:layout_alignStart="@+id/tv_date_label"
                        android:layout_below="@+id/tv_date_label"
                        android:text="TextView"
                        android:textColor="@color/colorLightGrey" />

                    <TextView
                        android:id="@+id/tv_jild_no_label"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignBottom="@+id/tv_date_label"
                        android:layout_alignLeft="@+id/tv_tehsil"
                        android:layout_alignStart="@+id/tv_tehsil"
                        android:text="@string/jild_no"
                        android:textColor="@color/colorBlack" />

                    <TextView
                        android:id="@+id/tv_jild_no"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignLeft="@+id/tv_jild_no_label"
                        android:layout_alignStart="@+id/tv_jild_no_label"
                        android:layout_below="@+id/tv_jild_no_label"
                        android:text="TextView"
                        android:textColor="@color/colorLightGrey" />

                    <TextView
                        android:id="@+id/tv_party_label"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignLeft="@+id/tv_date"
                        android:layout_alignStart="@+id/tv_date"
                        android:layout_below="@+id/tv_date"
                        android:layout_marginTop="13dp"
                        android:text="@string/party"
                        android:textColor="@color/colorBlack" />

                    <TextView
                        android:id="@+id/tv_party"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignLeft="@+id/tv_party_label"
                        android:layout_alignStart="@+id/tv_party_label"
                        android:layout_below="@+id/tv_party_label"
                        android:text="TextView"
                        android:textColor="@color/colorLightGrey" />

                </RelativeLayout>

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="0dip"
                    android:layout_weight="1"
                    android:layout_below="@+id/basic_details"
                    android:layout_marginTop="13dp"
                    android:background="@drawable/list_item_bg">

                    <TextView
                        android:id="@+id/tv_member_details_label"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentLeft="true"
                        android:layout_alignParentStart="true"
                        android:layout_alignParentTop="true"
                        android:layout_marginLeft="@dimen/_40sdp"
                        android:layout_marginStart="@dimen/_40sdp"
                        android:layout_marginTop="14dp"
                        android:text="@string/member_details"
                        android:textColor="@color/colorBlack"
                        android:textSize="@dimen/_16sdp" />

                    <ListView
                        android:id="@+id/lv_members"
                        android:layout_width="match_parent"
                        android:layout_height="fill_parent"
                        android:layout_alignParentLeft="true"
                        android:layout_alignParentStart="true"
                        android:layout_below="@+id/tv_member_details_label"
                        android:layout_marginLeft="@dimen/_40sdp"
                        android:layout_marginRight="@dimen/_40sdp"
                        android:layout_marginStart="@dimen/_40sdp"
                        android:layout_marginTop="16dp"
                        android:divider="@color/colorLightGrey"
                        android:dividerHeight="@dimen/_1sdp" />
                </RelativeLayout>
            </LinearLayout>

        </ScrollView>

    </RelativeLayout>

</FrameLayout>

我想让 basic_layout 下方的相对布局覆盖整个剩余的屏幕。我怎样才能做到这一点。搜索后我发现我应该在滚动视图中放置一个线性布局,然后应该添加相对布局。但这没有任何帮助。 我想要下面的内容:

----RelativeLayout
-------TitleBar
-------TextView
-------ScrollView (rest of screen)
----------RelativeLayout (upper portion of scroll view)
------------TextViews
----------RelativeLayout (rest of scrol view)
-------------TextView
-------------ListView

请帮忙吗?

1 个答案:

答案 0 :(得分:1)

实际上问题是您在scrollview中使用了2个布局,因此listview不会自动滚动,也会限制列表高度。要解决此问题,您需要将修复值传递给listview,然后它将完全显示在指定的高度内。如果您希望获得与图片中显示的完全一致,则需要使用cardview。

  <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="0dip"
                    android:layout_weight="1"
                    android:layout_below="@+id/basic_details"
                    android:layout_marginTop="13dp"
                    android:layout_marginBottom="10dp"
                    android:background="@drawable/list_item_bg">

                    <TextView
                        android:id="@+id/tv_member_details_label"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentLeft="true"
                        android:layout_alignParentStart="true"
                        android:layout_alignParentTop="true"
                        android:layout_marginLeft="@dimen/_40sdp"
                        android:layout_marginStart="@dimen/_40sdp"
                        android:layout_marginTop="14dp"
                        android:text="@string/member_details"
                        android:textColor="@color/colorBlack"
                        android:textSize="16dp" />

                    <ListView
                        android:id="@+id/lv_members"
                        android:layout_width="match_parent"
                        android:layout_height="500dp"
                        android:layout_alignParentLeft="true"
                        android:layout_alignParentStart="true"
                        android:layout_below="@+id/tv_member_details_label"
                        android:layout_marginLeft="@dimen/_40sdp"
                        android:layout_marginRight="@dimen/_40sdp"
                        android:layout_marginStart="@dimen/_40sdp"
                        android:layout_marginTop="16dp"
                        android:divider="@color/colorLightGrey"
                        android:dividerHeight="@dimen/_1sdp" />
                </RelativeLayout>