Android中带分割线的GridView-LineGridView
来源:互联网 发布:全套钓鱼工具淘宝 编辑:程序博客网 时间:2024/05/16 15:28
在Android项目开发中,有时候需要带分割线的GridView,一般情况下是做类似九宫格的功能。有时候可以直接留出边距就可以,底部背景就可以当做分割线了。但要是设计比较刁,非得要分割线跟背景颜色不同呢,那就用LineGridView吧。
public class LineGridView extends GridView { public LineGridView(Context context) { super(context); } public LineGridView(Context context, AttributeSet attrs) { super(context, attrs); } public LineGridView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } @Override protected void dispatchDraw(Canvas canvas) { super.dispatchDraw(canvas); View localView1 = getChildAt(0); int column = getWidth() / localView1.getWidth();//列数 int childCount = getChildCount(); Paint localPaint; localPaint = new Paint(); localPaint.setStyle(Paint.Style.STROKE); localPaint.setColor(getContext().getResources().getColor(R.color.ddcx_color_grey2));//这个就是设置分割线的颜色 for (int i = 0; i < childCount; i++) { View cellView = getChildAt(i); if ((i + 1) % column == 0) {//每一行最后一个 canvas.drawLine(cellView.getLeft(), cellView.getBottom(), cellView.getRight(), cellView.getBottom(), localPaint); } else if ((i + 1) > (childCount - (childCount % column))) {//最后一行的item canvas.drawLine(cellView.getRight(), cellView.getTop(), cellView.getRight(), cellView.getBottom(), localPaint); } else { canvas.drawLine(cellView.getRight(), cellView.getTop(), cellView.getRight(), cellView.getBottom(), localPaint); canvas.drawLine(cellView.getLeft(), cellView.getBottom(), cellView.getRight(), cellView.getBottom(), localPaint); } } }}
用法也很简单,你用GridView的地方替换为LineGridView,再把分割线颜色设置下就好了。
0 0
- Android中带分割线的GridView-LineGridView
- Android中带分割线的GridView-MyGraidView
- Android自定义带分割线的GridView
- 分割线的GridView
- android gridview画分割线
- android gridview画分割线.
- android GridView添加分割线
- android GridView加分割线--最直接的办法
- Android之给gridview的单元格加上分割线
- 【Android进阶】如何给gridview的单元格加上分割线
- Android应用开发—通用的GridView网格分割线
- Android给GridView设置单元格分割线
- Android控件GridView实现分割线
- android gridview画分割线,如图:
- Android控件GridView实现分割线
- Android 给GridView添加分割线
- 给GridView的单元格加上分割线
- Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现
- Android CalendarView 属性
- “不给力啊,老湿!”:RSA加密与破解
- caffe识别手写数字
- 使用libcurl来下载文件
- 老革命老问题之相对路径转绝对路径
- Android中带分割线的GridView-LineGridView
- javascript轮播图算法
- canvas-nest 很好玩的网页背景
- Java 中接口为什么可以调用 toString 方法,接口中根本就没有 toString 方法?
- Toolbar自定义View左边有间距
- C# 多态的实现
- ubuntu下sublime-text3无法使用中文输入法
- MAC下 Git 分支的相关整理
- 性能测试