如何使整个屏幕包含(LinearLayout + ListView)可滚动

时间:2015-05-07 01:02:18

标签: android listview android-listview scrollview android-linearlayout

我有一个Android片段,其中包含一个Vertical LinearLayout,里面有两个布局:另一个内部Vertical LinearLayout(占据屏幕的至少一半)和ListView(显示一些较小的视图)。考虑它的一个好方法就像facebook帖子以及下面显示的几条评论。

我面临的问题是内部LinearLayout不可滚动,因此ListView的一部分停留在屏幕之外,无法向上滚动屏幕以查看整个ListView(内部布局可能需要整个屏幕)。将整个布局放在ScrollView中也是一种不好的做法。

我知道一个解决方案是使整个布局成为ListView,第一个单元格是内部LinearLayout,然后是原始ListView中的单元格。然而,这有其自身的问题:在ListView中回收视图更难,通常我也认为这是一种不好的做法,其中一个单元格与ListView中的所有其他单元格具有不同的行为。

有更好的解决方案吗?我可以想象这是一个典型的问题,我希望找到一个比上面更好的解决方案。

1 个答案:

答案 0 :(得分:1)

这可能会对您有所帮助:

ListView yourListView = new ListView(this);
yourListView.addHeader(getHeaderView());

您还可以将页脚添加到ListView。执行此操作时,页眉(或页脚)将成为ListView的一部分,因此它将可滚动。您可以在此处找到该文档:http://developer.android.com/reference/android/widget/ListView.html