时人不识凌云木,直待凌云始道高。这篇文章主要讲述Android View 上下左右四种间距的设置方法相关的知识,希望能为你提供帮助。
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));
【Android View 上下左右四种间距的设置方法】可以根据自己的实际情况去设置想要的间距,也可以去单独设置
下面是设置间距后的效果图
文章图片
推荐阅读
- POJ 2385 Apple Catching
- Android ScrollView 滚动到顶部
- Android RecyclerView 设置item间隔的方法
- HOJ13907Diana and the Golden Apples
- Android开发基本环境搭建
- jmeter测试APP时如何录制脚本
- JSP中的登录和注销示例
- jsp(setProperty和jsp:getProperty操作标签)
- 如何修复Windows 10中的错误代码0xe0434352(解决办法)