【发布时间】:2017-04-27 16:26:17
【问题描述】:
我有一个如此复杂的视图,我在滚动视图中包含列表视图。我想做的是列表视图包含全屏,只有滚动视图是可滚动的。我知道这不是一个好习惯,但我必须提出这个观点。如何实现?
【问题讨论】:
标签: android listview scrollview
我有一个如此复杂的视图,我在滚动视图中包含列表视图。我想做的是列表视图包含全屏,只有滚动视图是可滚动的。我知道这不是一个好习惯,但我必须提出这个观点。如何实现?
【问题讨论】:
标签: android listview scrollview
这确实是非常非常糟糕练习..到了你甚至不能再称之为练习的地步。但是你不需要做任何特别的事情来做到这一点!通过在ScrollView 内放置一个List 和相同的android:orientation,List height 或width 将自动表现得像wrap_content,而List 将inflate 它的所有孩子失去其滚动行为。
只需将此添加到您的ScrollView:
android:fillViewport="true"
这个给你的ListView:
android:height="wrap_content"
P.S:如果您必须在布局中添加额外的视图或将项目作为 ListItem 列出,我建议使用列表 header/footer。这两种方法都受益于回收视图的列表行为,并将改善您的 Ram 使用率 和 加载时间。
编程愉快!
【讨论】:
您可以使用ListView 的这个自定义实现。它只是重写.onMeasure() 方法来包装它的孩子。
【讨论】:
它可以用 NonScrollListView 制作。
您可以在 scrollview 中显示您的所有项目。您只需将列表视图大小设为 wrap_content 并使用此视图。
编码愉快 :)
【讨论】: