带有列表视图但禁用滚动的Android ScrollView

时间:2017-07-21 11:13:12

标签: android listview android-scrollview

我正在开发一个基于API11的Android应用程序。我想在滚动视图中添加列表视图与所有其他组件,但我知道这是不对的。所以,我在列表视图静态时像添加新单元格时展开但是当我添加滚动视图时,列表视图变得可滚动。请找到下面的xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:id="@+id/parentLayout">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true">

        <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
            android:orientation="vertical"
            android:id="@+id/parentLayout">

    <TextView
        android:id="@+id/groupNameTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Group Name"
        android:gravity="center"
        android:textSize="30sp"
        android:layout_marginTop="10dp"/>

        <EditText
            android:id="@+id/grpName"
            android:layout_below="@id/groupNameTextView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Enter group name"
            android:textAlignment="center"
            android:gravity="center"/>
        <TextView
            android:id="@+id/grpDescriptionTextView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Group Description"
            android:gravity="center"
            android:textSize="30sp"
            android:layout_marginTop="14dp"
            android:layout_below="@+id/grpName"
            android:layout_alignParentLeft="true" />

        <EditText
            android:id="@+id/grpDescription"
            android:layout_below="@id/grpDescriptionTextView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Enter description"
            android:gravity="center"/>

        <TextView
            android:id="@+id/individualEA"
            android:layout_below="@id/grpDescription"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Individual's Email addresses"
            android:gravity="center"
            android:textSize="30sp"
            android:layout_marginTop="10dp"/>
        <!--<LinearLayout-->
            <!--android:layout_width="match_parent"-->
            <!--android:layout_height="wrap_content"-->
            <!--android:layout_below="@id/individualEA"-->
            <!--android:orientation="horizontal">-->

            <ImageButton
                android:layout_width="match_parent"
                android:id="@+id/addEmailAddressButton"
                android:layout_height="40dp"
                android:layout_below="@id/individualEA"
                android:src="@mipmap/add_button"
                android:background="@color/whitecolor" />
        <!--</LinearLayout>-->

    <ListView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/addEmailAddressButton"
        android:id="@+id/eaListView" />

        <LinearLayout
            android:id="@+id/twoButtonsLayout"
            android:layout_width="match_parent"
            android:layout_below="@id/eaListView"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <Button
                android:id="@+id/updateButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/create_account_button_bg"
                android:text="Update"
                android:layout_below="@id/eaListView"
                android:padding="7dp"
                android:layout_weight="1"
                android:layout_margin="7dp"
                android:layout_marginTop="30dp"
                android:textColor="@color/whitecolor"
                android:textSize="40sp" />
            <Button
                android:id="@+id/deleteButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/delete_account_button_bg"
                android:text="Delete"
                android:layout_below="@id/eaListView"
                android:layout_margin="7dp"
                android:padding="7dp"
                 android:layout_weight="1"
                android:textColor="@color/whitecolor"
                android:textSize="40sp" />

        </LinearLayout>

    </RelativeLayout>
    </ScrollView>
</RelativeLayout>

下面的截图是我需要的,但屏幕不可滚动,列表视图静态和扩展。当我评论滚动视图和相对布局时会发生这种情况。 enter image description here

为了使其可滚动,我添加滚动视图和相对布局,但滚动视图使列表视图可滚动并减小列表视图的大小,如下面的屏幕截图所示。 enter image description here

在横向模式下,它通过使屏幕可滚动并列出视图静态而以另一种方式工作。

我的问题是如何让屏幕可以滚动列表视图静态和扩展,就像在纵向和横向的第一个屏幕截图中一样?

P.s:我想过使用回收站视图和卡片视图,但基础API已经过时了,因此我无法继续使用它。

谢谢

2 个答案:

答案 0 :(得分:0)

使用Expandableheightlistview

摇篮

compile&#39; com.github.paolorotolo:expandableheightlistview:1.0.0&#39;

xml代码

  <com.github.paolorotolo.expandableheightlistview.ExpandableHeightListView
                android:id="@+id/driverlist"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:divider="@drawable/separator_gray1">
</com.github.paolorotolo.expandableheightlistview.ExpandableHeightListView>

其他源代码与Listview保持一致 在设置适配器

之后写下这一行
listview.setExpanded(true);

答案 1 :(得分:0)

不要将ScrollView与ListView或任何可以滚动的内容混合在一起。

只需使用Listview HeaderView或/和Footerview。