在Android App开发中,难免不用到ScrollView嵌套ListView的UI架构
一般人都知道,为了使ListView能显示完全,会用到setListViewHeightBasedOnChildren(ListView listView)方法,该方法自行搜索,这里不贴代码了(网络很多)
如果需要对ListView设置LayoutParams时,会发现直接对ListView设置params.height没效果,总是显示Item的整数个
所以呢,我们可以在ListView外套上一层父View,通过setListViewHeightBasedOnChildren计算出ListView的高度,从而设置父View的params.height为这高度就可以间接的显示ListView的高度了
例如:
<FrameLayout
android:id="@+id/listView_frameLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@null"
android:scrollbars="none"
>
</ListView>
</FrameLayout>