【问题标题】:How to do a "swipe information" activity?如何进行“刷信息”活动?
【发布时间】:2017-10-10 14:04:39
【问题描述】:

在我的项目中,我有一个加载新闻列表的活动。加载列表时,此 Activity 将填充列表中第一项的信息:​​

但是由于这会从服务器加载所有新闻,我希望用户能够用手指交换新闻。例如:我们从 news[0] 开始,用户向左滑动,内容变为 news[1]。用户再次向左滑动,内容变为 news[2] 等等……如果用户向右滑动,则返回到之前的新闻(news[1])。标题不应该有滑动动作,只有主框架(图像和正文应该改变):

这种行为的最佳方法是什么?我正在考虑将 TabLayout 与 ViewPager 一起使用,但我不确定这是否是正确的方法。如果我有 100 条新闻,那么在 ViewPager 中加载 100 个片段可能有点过头了,对吧?

android 有更好的方法来做到这一点吗?我该怎么做?

【问题讨论】:

  • 不,100 个片段完全没问题。 ViewPager 将始终保持至少 3 个加载页面,您也可以配置更多。你也可以实现分页来加载特定数量的新闻,比如 20 条,然后是 20 条,等等。
  • 另一个选项可能是带有 Horizo​​ntalLayoutManager 的 RecyclerView,例如在这个答案中:stackoverflow.com/a/28460399/4232337 当然,如果您希望拥有 ViewPager 的“快照”行为,这将不那么有趣提供

标签: java android android-fragments kotlin swipe


【解决方案1】:

您可以为此使用ViewPager。里面有 100 个片段是完全可以的,因为ViewPager 只会加载你使用setOffscreenPageLimit(pageLimit) 设置的数量。例如,如果您设置pageLimit = 3ViewPager 将仅初始化 3 个(最多 6 个)位于当前可见片段右侧/左侧的相邻片段。当你在浏览片段时,它会杀死超出这个限制的片段,并加载新的片段。所以,不会有矫枉过正。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多