Android View 上下左右四种间距的设置方法
2017-08-26 22:32
627 查看
RecyclerView控件大家肯定不陌生,已经应用有一段时间了,最近在项目中写一个GridLayout样式的RecyclerView时需要设置,item之间左右的间距,下面是我总结的一个设置间距的方法分享给大家。
下面是没间距的情况想要设置item之间的间距需要自己创建一个继承自RecyclerView.ItemDecoration的类
public class RecyclerViewSpacesItemDecoration extends RecyclerView.ItemDecoration { private HashMap<String, Integer> mSpaceValueMap; public static final String TOP_DECORATION = "top_decoration"; public static final String BOTTOM_DECORATION = "bottom_decoration"; public static final String LEFT_DECORATION = "left_decoration"; public static final String RIGHT_DECORATION = "right_decoration"; public RecyclerViewSpacesItemDecoration(HashMap<String, Integer> mSpaceValueMap) { this.mSpaceValueMap = mSpaceValueMap; } @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { if (mSpaceValueMap.get(TOP_DECORATION) != null) outRect.top = mSpaceValueMap.get(TOP_DECORATION); if (mSpaceValueMap.get(LEFT_DECORATION) != null) outRect.left = mSpaceValueMap.get(LEFT_DECORATION); if (mSpaceValueMap.get(RIGHT_DECORATION) != null) outRect.right = mSpaceValueMap.get(RIGHT_DECORATION); if (mSpaceValueMap.get(BOTTOM_DECORATION) != null) outRect.bottom = mSpaceValueMap.get(BOTTOM_DECORATION); } }
下面是 设置RecyclerView间距的关键方法
HashMap<String, Integer> stringIntegerHashMap = new HashMap<>(); stringIntegerHashMap.put(RecyclerViewSpacesItemDecoration.TOP_DECORATION,50);//top间距 stringIntegerHashMap.put(RecyclerViewSpacesItemDecoration.BOTTOM_DECORATION,100);//底部间距 stringIntegerHashMap.put(RecyclerViewSpacesItemDecoration.LEFT_DECORATION,50);//左间距 stringIntegerHashMap.put(RecyclerViewSpacesItemDecoration.RIGHT_DECORATION,100);//右间距 mRecyclerView.addItemDecoration(newRecyclerViewSpacesItemDecoration(stringIntegerHashMap));
可以根据自己的实际情况去设置想要的间距,也可以去单独设置
下面是设置间距后的效果图
相关文章推荐
- RecyclerView 上下左右四种间距的设置方法
- collectionView代理方法快速设置cell大小上下左右间隔
- 水平垂直居中的四种方法 div在div中上下左右居中
- Ubuntu vi 上下左右变ABCD问题解决方法
- android给View设置上下左右边框
- 设置图片在正方形区域内左右上下移动
- Ubuntu vi 上下左右变ABCD及 apt-get install报错问题解决方法
- iview中键盘上下左右事件的方法
- 公司禁用U盘的四种常规设置方法
- 设置图片的上下左右居中
- 用Activity的onTouchEvent方法实现监听手指上下左右滑动
- css基础 设置div 上下左右边框线的样式
- 两篇word文档行间距设置的一样但是显示的不一样的解决方法
- CSS中overflow:scroll怎么设置只上下滚动而不左右滚动
- HTML行间距的设置方法与问题
- android给View设置上下左右边框
- Ubuntu vi 上下左右变ABCD及 apt-get install报错问题解决方法
- 设置间距的简便方法
- iOS Button的文字和图片上下或左右排列的方法
- 设置一个层在浏览器中同时左右居中上下居中水平垂直居中