| package com.doumee.lib_coremodel.view.recyclerview; | 
|   | 
| /** | 
|  * Created by MSI on 2018/5/31. | 
|  */ | 
|   | 
| import android.graphics.Rect; | 
| import android.view.View; | 
|   | 
| import androidx.recyclerview.widget.RecyclerView; | 
|   | 
| /** | 
|  * 设置item间距 | 
|  */ | 
| public class SpacesItemDecoration extends RecyclerView.ItemDecoration { | 
|     private int space; | 
|     private int interval=-1;//间隔 | 
|     private int topSpace; | 
|     private int type=-1;//0:左右,1:上下 | 
|   | 
|     //底部间距 | 
|     public SpacesItemDecoration(int space) { | 
|         this.space = space; | 
|     } | 
|   | 
|     //左右间距 | 
|     public SpacesItemDecoration(int space, int interval) { | 
|         this.space = space; | 
|         this.interval=interval; | 
|     } | 
|   | 
|     //顶部间距 | 
|     public SpacesItemDecoration(int space, boolean isTop) { | 
|         if(isTop){ | 
|             this.topSpace=space; | 
|         }else { | 
|             this.space = space; | 
|         } | 
|     } | 
|   | 
|     public SpacesItemDecoration(int space, int interval, boolean isTop) { | 
|         if(isTop){ | 
|             this.topSpace=space; | 
|         }else { | 
|             this.space = space; | 
|         } | 
|         this.interval=interval; | 
|     } | 
|   | 
|     @Override | 
|     public void getItemOffsets(Rect outRect, View view, | 
|                                RecyclerView parent, RecyclerView.State state) { | 
|         /*outRect.left = space; | 
|         outRect.right = space; | 
|         outRect.bottom=space;*/ | 
|         outRect.bottom=space; | 
|         outRect.top=topSpace; | 
|   | 
|         // Add top margin only for the first item to avoid double space between items | 
|         /*if (parent.getChildPosition(view) == 0) | 
|             outRect.top = space;*/ | 
|         if(interval!=-1){ | 
|             if (parent.getChildPosition(view)%2 == 0){ | 
|                 outRect.right = interval/2; | 
|             }else { | 
|                 outRect.left = interval/2; | 
|             } | 
|         } | 
|     } | 
| } |