【问题标题】:Android Recyclerview with dynamic number of items in row具有动态项目数的Android Recyclerview
【发布时间】:2020-10-29 19:32:27
【问题描述】:

我需要为放置在行中的 x 个项目创建回收器视图适配器。行中的项目数应该可以通过代码中的某个常量进行配置。 每个项目都包含标题静态背景图片和基于来自项目对象的数据放置在背景上的另外两个图像。 请帮助我如何实现这种外观

Here is scratch how row should look like

编辑:如果行的常量是例如 4 并且我有 11 个项目,我还需要生成多行

【问题讨论】:

    标签: android layout dynamic android-recyclerview adapter


    【解决方案1】:

    使用水平回收视图。

    //编辑

    RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
        recycler.setLayoutManager(layoutManager);
        recycler.setNestedScrollingEnabled(false);
        recycler.setItemAnimator(new DefaultItemAnimator());
        int spacing = getResources().getDimensionPixelSize(R.dimen.zero);
        playBinding3.recycler.addItemDecoration(new SpacesItemDecoration(spacing));
    
        HorizontalAdapter horizontalAdapter = new HorizontalAdapter(list, this);
        recycler.setAdapter(horizontalAdapter);
    

    其中 recycler 是您的 recyclerview 和 Recyclerview 适配器。将 recyclerview 与 cardviews 一起使用,您应该能够轻松实现该外观。 'list' 是您要显示的项目列表。

    我猜你正在寻找一个带有 GridLayout 的循环视图,其中每行项目都有多个列。是这样吗?

    layoutManager = new GridLayoutManager(context, 4);
        recycler.setLayoutManager(layoutManager);
        recycler.setNestedScrollingEnabled(false);
        recycler.setItemAnimator(new DefaultItemAnimator());
        int spacing = getResources().getDimensionPixelSize(R.dimen.onespacing);
        recycler.addItemDecoration(new SpacesItemDecoration(spacing));
    

    其中 4 是每行的列数。希望我理解正确。

    【讨论】:

    • 所以它将是垂直recyclerview内的水平recyclerview?
    • @Coldnight 我已经更新了我的答案。随意问我是否没有完全回答或误解你。
    猜你喜欢
    • 2020-08-13
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多