【发布时间】:2015-08-25 16:52:44
【问题描述】:
在某些情况下,最好使用ViewGroup 创建列表,其作用类似于ListView 或RecyclerView。
例如,我需要在 ViewGroup 中显示项目列表,这是根布局的子级。 根布局是可滚动的(例如ScrollView 或NestedScrollView),因此使用另一个滚动的View 来显示列表项是不合适的。
这方面的一个例子可以是在CardView 中显示列表项(当然,在这种情况下,您不会想要太多的列表项,因为卡片并不适用于此)。在卡片中使用滚动布局显然是不对的,尤其是当卡片是滚动根布局的一部分时。
另一个例子是创建一个导航抽屉(当然在 Google I/O 2015 之后,有 设计支持库,所以使用 NavigationView 会简单得多)。但在设计支持库之前,您必须使用要在导航抽屉中显示的项目填充 ViewGroup(可能是 LinearLayout,因为抽屉的根布局必须是可滚动的。有关此场景的更多信息,我问a similar question。
问题的关键在于,没有简单的方法可以将ViewGroup 用作列表布局,因此我们中的许多人倾向于使用复杂的解决方案来禁用ListView 或RecyclerView 上的滚动。是的,ListView 上的滚动可以被禁用,但通常仍然有一个 Lint 警告。因此,使用ViewGroup 列表也可以被认为是在滚动Views 上禁用滚动的替代解决方案。
那么有没有一种简单的方法可以将ViewGroups 用作列表?
【问题讨论】:
标签: android list android-listview android-recyclerview android-viewgroup