android RecyclerView 简单粗暴设置GridLayoutManager item之间的间距

最近做一个购买会员功能,其中有个RecyclenView 的选择列表,需要实现横向列表,跟九宫格类似的功能。如下图,

android RecyclerView 简单粗暴设置GridLayoutManager item之间的间距_第1张图片

其中选择Recyclenview选中变高亮,分分四格就需要给recyclenview 的GridLayoutManager 画分割线,直接画是画不出竖线的,网上看了都说单独处理。然后无意在网上看到一个直接在item中添加一个外层来实现,非常巧妙。

原文

这里是GridLayoutManager或者StaggeredGridLayoutManager 设置Item间距的办法。




    

        

        

        
    

    
    
        
        


            

            

                

                

                

                

            


            

        

    


里面这个RelativeLayout就是你的item正常的布局,而LinearLayout 这个根部局我设置了他的背景色为透明的,再加一个padding就行了,这个padding就是设置item的间距,这样设置item的间距了。

所以说RecyclerView的Item的间距都可以通过item里面设置padding,margin来解决,这种办法相对巧妙。

然后在调用的地方,

int spanCount = 3; // 3 columns
        int spacing = 50; // 50px
        boolean includeEdge = false;
        mRecyclerView.addItemDecoration(new GridSpacingItemDecoration(spanCount, spacing, includeEdge));

如果你了别人的RecycleView 上拉加载下拉刷新,addItemDecoration 这个方法 不一定会给你加上,你可以在源码上自行添加。

public void addItemDecoration(RecyclerView.ItemDecoration decor) {
    mRecyclerView.addItemDecoration(decor,-1);
}

 

你可能感兴趣的:(android RecyclerView 简单粗暴设置GridLayoutManager item之间的间距)