【发布时间】:2015-05-07 01:02:18
【问题描述】:
我有一个 Android 片段,其中包含一个 Vertical LinearLayout,其中包含两个布局:另一个内部 Vertical LinearLayout(占用至少一半的屏幕)和一个 ListView(显示许多较小的视图)。考虑它的一个好方法是类似于 facebook 帖子以及下面显示的几个 cmets。
我面临的问题是内部的 LinearLayout 是不可滚动的,因此 ListView 的一部分停留在屏幕之外,并且无法向上滚动屏幕以查看整个 ListView(内部布局可能需要整个屏幕)。将整个布局放在 ScrollView 中也是一种不好的做法。
我知道一个解决方案是让整个布局成为一个 ListView,第一个单元格成为内部 LinearLayout,然后是原始 ListView 中的单元格。然而,这也有其自身的问题:在 ListView 中回收视图更加困难,而且通常我也认为这是一种不好的做法,即一个单元格的行为与 ListView 中的所有其他单元格的行为不同。
有没有更好的解决方案?我可以想象这是一个典型的问题,我希望找到比上面更好的解决方案。
【问题讨论】:
-
如果列表视图的某些部分不在屏幕上,则您的 xml 中有错误。或者您应该使用相对布局而不是线性布局,以确保不会发生这种情况。另外,如果您确实希望顶视图随列表一起滚动,正确的方法是使其成为列表标题,而不是使其成为列表中的单元格。
标签: android listview android-listview scrollview android-linearlayout