android画虚线的自定义VIew

package com.yesway.ycarplus.view;

import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.DashPathEffect;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.Path;
import android.graphics.PathEffect;
import android.util.AttributeSet;
import android.view.View; /**
* 画虚线的一个view
*
* @author liulm
*
*/
public class DottedLine extends View { private int color = Color.WHITE; public DottedLine(Context context, AttributeSet attrs) {
super(context, attrs);
} @Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(widthMeasureSpec, heightMeasureSpec);
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
} @SuppressLint("DrawAllocation")
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint p = new Paint();
p.setAntiAlias(true);
p.setStyle(Style.STROKE);
p.setColor(color);
p.setStrokeWidth(10);
PathEffect effects = new DashPathEffect(new float[] { 0, 10, 35, 2 }, 1); Path path = new Path();
path.moveTo(0, 0);
path.lineTo(0, getMeasuredHeight());
path.lineTo(getMeasuredWidth(), getMeasuredHeight()); p.setPathEffect(effects);
canvas.drawPath(path, p);
} /**
* 设置颜色
*
* @param color
*/
public void setColor(int color) {
this.color = color;
invalidate();
} /**
* 设置颜色值
*
* @param color
*/
public void setColor(String color) {
this.color = Color.parseColor(color);
invalidate();
} }android画虚线的自定义VIew
上一篇:Laravel学习笔记


下一篇:Core Data (一)备