Android-故意使网格视图项目垂直重叠

问题描述

我正在用this seekbar slider library填充RecyclerView。 由于此搜索栏滑块具有进度气泡,该气泡仅在与搜索栏交互时出现,因此作为搜索滑块的一部分,搜索栏本身会增加高度(蓝色栏+顶部多余的空白)。看起来像下面的2列gridview上的图像。

enter image description here

我的目标是使网格视图的项目在垂直方向上重叠dp,以便消除条形之间的多余空白。看起来像这样。

enter image description here

我见过人们使用带有自定义类的LinerLayoutManager进行此操作,但我将recyclerView与GridLayoutManager一起使用,并且不确定如何对其进行存档。

解决方法

我通过使用自定义项目装饰器类找到了解决方案。

public class ItemDecoratorGridView  extends RecyclerView.ItemDecoration {

private final static int vertOverlap = -180;

@Override
public void getItemOffsets (Rect outRect,View view,RecyclerView parent,RecyclerView.State state) {
    outRect.set(0,vertOverlap,0);

}
}

并像这样申请您的适配器类

adapter.addItemDecoration(new ItemDecoratorGridView());

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...