gpt4 book ai didi

java - 如何在 Android 中偏移 RecyclerView 的第二列?

转载 作者:行者123 更新时间:2023-12-02 05:41:39 26 4
gpt4 key购买 nike

我目前正在开发一个 Android 应用程序,其中使用 recyclerView 向用户显示该应用程序的可用服务列表。现在列表的 UI 是一个简单的两列、可滚动的 recyclerView,看起来就像在 gridview 中一样捕捉项目。

我想偏移 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 是包含我的cardview 和所有内容的constraintLayout。

最佳答案

我假设您使用自己的AdapterViewHolder。在自定义 ViewHolder 中创建一个方法,例如 ... void setViewOffset(intposition),如果位置是您想要的位置,您可以在其中为 View 设置不同的左边距。在适配器的 onBindViewHolder(intposition) 中调用此方法并传递位置。

否则,您这边的一些代码将提供更多帮助。

关于java - 如何在 Android 中偏移 RecyclerView 的第二列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56133902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com