强制ExpandableListView将其他项目向下移动

时间:2012-07-10 14:11:18

标签: android android-layout layout expandablelistview

我的布局是一个ScrollView,带有一些TextView和其他控件,还有一个ExpandableListView。

我想要做的是当扩展ExpandableListView时,它下面的控件向下移动并在折叠时再次移动,所有控件都向上移动,只有Expendables组变为可见。

问题是当使用wrap_content用于expandView的高度时,它的扩展没有显示任何内容,只有指示符(小箭头)显示它已扩展,并且当明确使用某些数字时,例如。 200dp,expandView的最低项目未显示。 (因为一起使用了两个滚动小部件)。

这是我简化的布局。

<ScrollView
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="HardcodedText" >
    <LinearLayout>
       //some controls
    </LinearLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <ExpandableListView
            android:id="@+id/lstDrugs"
            android:layout_width="match_parent"

//HERE is the point that wrap_content only shows the groups header

            android:layout_height=**"wrap_content"**
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:divider="@drawable/dividergradient"
            android:dividerHeight="2dp" >
        </ExpandableListView>

        <Button
            android:id="@+id/btnAddDrug"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/lstDrugs"
            android:text="Add" />
    </RelativeLayout>
</LinearLayout>

1 个答案:

答案 0 :(得分:1)

我刚刚在this主题中找到了答案。

问题在于在ScrollView中使用List。要处理它,您应该使用除ScrollView之外的布局(例如LinearLayout),并将其他小部件添加为列表的标题页脚。这样可以滚动视图,也可以扩展List。