【问题标题】:How to display one item at a time in a list in an Android Activity如何在 Android Activity 的列表中一次显示一个项目
【发布时间】:2014-11-14 16:57:14
【问题描述】:

我是 Android 开发新手(3 周)。

我想创建一个允许用户滚动项目列表的 Activity。我希望在任何给定时间只有一个项目占据屏幕的宽度/高度。同时,我希望项目能够平滑滚动(向上/向下),类似于 facebook/instagram。在运行时,项目将被推送到堆栈/列表的顶部(就像 FB 中的新闻提要)。

完成此任务的最佳方法是什么?使用 ListView、LinearLayout(垂直)项目、相互叠加的按钮列表之间的优缺点是什么?或者我应该使用彼此重叠显示的片段?我将如何实现在给定时刻仅显示一个项目的能力?

【问题讨论】:

  • 听起来你想要一个ViewPager。默认情况下,它的运动是水平的,但现场有一些例子展示了如何使其垂直;例如,this post.
  • 非常感谢迈克!这正是我一直在寻找的。 ListViews 是否用于较小的项目?并且使用带有大量垂直项的 LinearLayout 是否非常规?
  • ListViews 的一个好处是它们可以有效地处理它们的子视图,因此,如果您有一个相当大的集合,无论项目是否较小,它们都不太可能出现滚动延迟或 OOM 错误。如果您的项目数量很少,可滚动的 LinearLayout 可能工作得很好,但在这种情况下,即使在屏幕上不可见的项目也会驻留在内存中,这可能会导致上述问题。 ViewPager 非常适合您描述的用例;即,它滚动,但一次捕捉到一个可见的视图。 ListViews 用于平滑滚动,浏览列表

标签: android android-layout android-activity


【解决方案1】:

答案是使用 ViewPager:http://developer.android.com/reference/android/support/v4/view/ViewPager.html

默认情况下,运动是水平的,但有一些示例说明如何使其垂直。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    相关资源
    最近更新 更多