我的布局是一个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>
答案 0 :(得分:1)
我刚刚在this主题中找到了答案。
问题在于在ScrollView中使用List。要处理它,您应该使用除ScrollView之外的布局(例如LinearLayout),并将其他小部件添加为列表的标题和页脚。这样可以滚动视图,也可以扩展List。