【问题标题】:How can I implement RecyclerViews inside a single RecyclerView?如何在单个 RecyclerView 中实现 RecyclerViews?
【发布时间】:2017-12-01 20:36:59
【问题描述】:

我想创建一个与 Google Play 商店或 Netflix App 类似的布局,其中在一个 RecyclerView 中基本上有多个水平 RecyclerView。如果这不是他们这样做的方式,他们如何实现这种效果?

现在我已经成功实现了一个自定义适配器,它可以很好地执行单个水平 RecyclerView。但是我不知道如何将这些单个水平 RecyclerViews 放入 RecyclerView 以制作水平 RecyclerViews 列表。我尝试制作另一个适配器来完成这项工作,但我无法让它工作。

所以我的问题很简单,就是如何使用我描述的 RecyclerView 方法或其他方法制作类似于 Netflix 或 Google Play 商店的布局。

编辑: 我想在 RecyclerView 中执行 RecyclerView 的原因之一是我只需要实例化一次。要使用 RecyclerView,您必须实例化几件事。

List<Video> videoList = new ArrayList<>();
VideoAdapter videoAdapter = new VideoAdapter(videoList, this);
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.video_list);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(videoAdapter);

所以我要避免的一件事是必须为不同的列表执行 8 次。

【问题讨论】:

  • 您可以在NestedScrollView 中使用多个recyclerView 来实现类似Play Store 的外观。

标签: android layout


【解决方案1】:

带有视图分页器的回收器视图可以解决问题。您必须通过以下方式覆盖 getPageWidth 才能在一个视图寻呼机中显示多个页面。此外,如果您不想自己做这项工作,这个库会很有用。 lib

@Override
public float getPageWidth(int position) {
float numberOfPages = 2; // You could display partial pages using a float value
return (1 / numberOfPages);
}

【讨论】:

    猜你喜欢
    • 2018-11-15
    • 1970-01-01
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多