【问题标题】:Grid inside RecyclerView, which column is left or rightRecyclerView里面的网格,哪一列是左边还是右边
【发布时间】:2015-03-04 12:59:26
【问题描述】:

我在 RecyclerView 中有 2 列网格。我想在左栏中的项目上使用不同的边距,在右栏中的项目上使用不同的边距。

RecyclerView.Adapter类的bindViewHolder(VH holder, int position)方法里面,怎么知道当前item是在左边还是右边?

我尝试使用位置参数,但有时它会从右侧开始填充项目(下图,查看项目 5)所以它没有用。

【问题讨论】:

    标签: android grid adapter android-recyclerview


    【解决方案1】:

    可以通过viewHolder的itemView获取列索引。

    StaggeredGridLayoutManager.LayoutParams lp = (StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams(); 
    int position = lp.getSpanIndex();
    

    【讨论】:

      【解决方案2】:

      我在 RecyclerView 中有 2 列网格。我想用 左栏中项目的不同边距和不同的边距 右栏中的项目。

      为您的RecyclerView 使用不同的paddings 怎么样?为paddingLeftpaddingRight 使用不同的padding 值。

      【讨论】:

      • 是的,我想了。但问题是 bindHolderView 以 position=5 触发,我不确定它是左侧的项目。通常适配器从左边给出新的行项目,但有时首先是右边的项目。
      • 在xml文件中设置内边距,你不需要知道哪个视图是在左边还是右边的站点
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多