问题描述
我正在用this seekbar slider library填充RecyclerView。 由于此搜索栏滑块具有进度气泡,该气泡仅在与搜索栏交互时出现,因此作为搜索滑块的一部分,搜索栏本身会增加高度(蓝色栏+顶部多余的空白)。看起来像下面的2列gridview上的图像。
我的目标是使网格视图的项目在垂直方向上重叠dp
,以便消除条形之间的多余空白。看起来像这样。
我见过人们使用带有自定义类的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());