【问题标题】:RecyclerView with only one item displayed on screen [duplicate]屏幕上仅显示一项的 RecyclerView [重复]
【发布时间】:2015-07-31 01:10:32
【问题描述】:

我有 RecyclerView 和项目 ImageView。我想让RecyclerView 一次只显示一项,在更改时像ViewPager 一样拖动到边缘。有谁知道如何做到这一点?

我正在使用来自此来源的代码:

Android Simple RecyclerView Widget Example

唯一不同的是我没有TextView,只有ImageView

【问题讨论】:

  • 如果您可以添加您现在拥有的代码,这将有助于做出适合您问题的良好答案
  • 您可以将项目视图大小设置为等于屏幕大小
  • 但问题是每次只能显示一项,一张图片。当我滑动时,它必须改变下一个:/
  • 好的。所以你需要像 ViewPager 一样的垂直滑动?
  • 没错,hegazy :) 我尝试使用 ViewPager 与轴变换,但性能不好。

标签: android imageview android-recyclerview


【解决方案1】:

您可以使用 PagerSnapHelper 类:

RecyclerView recyclerFoodItemsHorizontal = (RecyclerView) findViewById(R.id.recycler_food_items_horizontal);
SnapHelper mSnapHelper = new PagerSnapHelper();
mSnapHelper.attachToRecyclerView(recyclerFoodItemsHorizontal);

它的工作原理与 ViewPager 类似。

【讨论】:

  • @KshitijJain,我收到错误消息“无法解析符号 PagerSnapHelper”。请帮忙:(
  • @Rakesh 请在 gradle 中包含回收站视图库。
  • @KshitijJain,是的,我明白了。我不得不将回收站视图版本更新为 25.2.0。早些时候我使用的是 25.0.0。我希望它不会影响任何其他东西。
  • 太棒了!我想重写到页面适配器!
  • 非常棒的解决方案!
【解决方案2】:

据我所知,您需要一个垂直的 ViewPager。我正在使用castorflex/VerticalViewPager 库为我的一个项目实现这一目标。它就像 ViewPager 一样工作,我可以看到没有代码更改它只是支持库中可用的 v19 ViewPager 的复制粘贴,他将所有左/右更改为上/下,将 X 更改为 Y。

【讨论】:

  • Horizo​​ntalViewPager 中的 VerticalViewPager 完美运行。我现在在 VerticalViewPager 中使用了 PagerAdapter,而不是 FragmentPagerAdapter。 Note 3 的 CPU 使用率最高为 5%。感谢您的帮助 :)
  • 感谢您的反馈。我将它与 FragmentStatePagerAdapter 一起使用,它也很好用;)
  • 目前(2020 年)已经有谷歌官方实现了同样的东西,他们称之为 ViewPager2,与 ViewPager 相比,ViewPager2 能够垂直滚动(developer.android.com/training/animation/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 2018-10-20
  • 2017-12-31
  • 1970-01-01
相关资源
最近更新 更多