【发布时间】:2014-11-14 16:57:14
【问题描述】:
我是 Android 开发新手(3 周)。
我想创建一个允许用户滚动项目列表的 Activity。我希望在任何给定时间只有一个项目占据屏幕的宽度/高度。同时,我希望项目能够平滑滚动(向上/向下),类似于 facebook/instagram。在运行时,项目将被推送到堆栈/列表的顶部(就像 FB 中的新闻提要)。
完成此任务的最佳方法是什么?使用 ListView、LinearLayout(垂直)项目、相互叠加的按钮列表之间的优缺点是什么?或者我应该使用彼此重叠显示的片段?我将如何实现在给定时刻仅显示一个项目的能力?
【问题讨论】:
-
非常感谢迈克!这正是我一直在寻找的。 ListViews 是否用于较小的项目?并且使用带有大量垂直项的 LinearLayout 是否非常规?
-
ListViews 的一个好处是它们可以有效地处理它们的子视图,因此,如果您有一个相当大的集合,无论项目是否较小,它们都不太可能出现滚动延迟或 OOM 错误。如果您的项目数量很少,可滚动的 LinearLayout 可能工作得很好,但在这种情况下,即使在屏幕上不可见的项目也会驻留在内存中,这可能会导致上述问题。 ViewPager 非常适合您描述的用例;即,它滚动,但一次捕捉到一个可见的视图。 ListViews 用于平滑滚动,浏览列表
标签: android android-layout android-activity