如何做一个"swipe information"activity?

How to do a "swipe information" activity?

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

但是由于这会从服务器加载所有新闻,我希望用户能够用他的手指交换新闻。例如:我们从 news[0] 开始,用户向左滑动,内容变为 news[1]。用户再次向左滑动,内容变为 news[2] 等等...如果用户向右滑动,则它 return 到上一个新闻(news[1])。 header 不应该有滑动动作,只有主框架(图像和 body 应该改变):

针对此行为的最佳方法是什么?我正在考虑将 TabLayout 与 ViewPager 一起使用,但我不确定这是否是正确的方法。如果我有 100 条新闻之类的东西,那么在 ViewPager 中加载 100 个片段可能有点矫枉过正,对吗?

android有更好的方法吗?我应该怎么做?

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