使用 RecyclerView Android Studio 在不同行上设置列

Posted

技术标签:

【中文标题】使用 RecyclerView Android Studio 在不同行上设置列【英文标题】:Set Column on Different Rows using RecyclerView Android Studio 【发布时间】:2020-09-29 14:19:56 【问题描述】:

Aoa 我想要这样的 Recyclerview 节目:

我在下面使用了 GridLayoutManager 代码但是我得到了这样的输出

   GridLayoutManager manager = new GridLayoutManager(this, 2);
    manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() 
        @Override
        public int getSpanSize(int position) 
            return (position % 3) > 0 ? 1 : 2;
        
    );
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(MainActivity.this);
    UserAdapter userAdapter = new UserAdapter(this,userModelList);
    rvItem.setLayoutManager(manager);
    rvItem.setAdapter(userAdapter);

请指导我这是可能的吗?如果是,那么如何?

【问题讨论】:

【参考方案1】:

我认为解决方案可能会执行以下操作: 由于您正在做的是发送范围从 i=0 到 n 的位置,并且您使用模数 3 。因此,如果 i=0 和 i>0 为假,这就是为什么第一行是 1 而第二行是 i=1 和 i>0 这就是为什么你得到 2 ...

    @Override
    public int getSpanSize(int position) 
        return (position % 3) > 0 ? 2 : 1;
    

如何切换三元条件并尝试使用模 2 而不是 3 ?或者也许切换 2 和 1 ??看来您走在正确的道路上,一点点实验就可以解决问题:) 祝你好运!!!

【讨论】:

以上是关于使用 RecyclerView Android Studio 在不同行上设置列的主要内容,如果未能解决你的问题,请参考以下文章

Android Kotlin - 用于 RecyclerView 的 setOnTouchListener 和所有项目子视图/里面的所有内容

具有垂直和水平滚动的 Recyclerview

android之recyclerview的基本使用

Android 开发中使用 Recyclerview

Android RecyclerView的基本使用

Android RecyclerView使用方法详解