【发布时间】:2019-05-14 15:25:39
【问题描述】:
我目前正在开发一个 Android 应用程序,我在其中使用 recyclerView 向用户显示应用程序的可用服务列表。现在列表的 UI 是一个简单的两列、可滚动的 recyclerView,看起来就像网格视图中的项目一样被捕捉。
我想偏移 recyclerView 的第二列,使它看起来有点像键盘的按键行,而不是完美地对齐项目。
我看到另一个问题与我的要求相同(尽管水平而不是垂直)但答案没有帮助,我不想让线程恢复生机^^ RecyclerView - horizontal, two-row grid, second row offset
有人知道这样做的方法吗?也许某个地方存在一个图书馆,但我到处寻找我能找到答案但没有成功......
编辑:感谢 Bled K. 的解决方案:D 我添加了这个函数并在 OnBindViewHolder 中调用它:
public void setViewOffset(int position){
if(position==1){
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) this.f.getLayoutParams();
params.topMargin = cardView.getHeight()/3;
this.f.setLayoutParams(params);
}else{
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) this.f.getLayoutParams();
params.topMargin = 0;
this.f.setLayoutParams(params);
}
}
在我的例子中 this.f 是包含我的卡片视图和所有内容的约束布局。
【问题讨论】:
标签: java android android-layout android-recyclerview