Android中自定义View中的属性(慢慢补充)

来源:互联网 发布:存货管理与优化 编辑:程序博客网 时间:2024/04/28 05:29

一、Paint

  1. paint.setPathEffect 给path设置效果
//将path路径变得圆滑paint.setPathEffect(new CornerPathEffect(50))

效果:
这里写图片描述

//将路径变得离散,根据传入参数的不同而不同//效果1paint.setPathEffect(new DiscretePathEffect(3.0F, 5.0F));//效果二mPaint.setPathEffect(new DiscretePathEffect(10.0F, 2.0F));

效果1:
这里写图片描述

效果2:
这里写图片描述

//给path加上虚线效果,其中第一个参数必须是数量大于2的数组,数组中第一个表示实现的长度,第二个表示虚线的长度,如果只有2个参数的话,就以此循环。第二个参数phase是表示偏移量,如果动态的给它赋值会有一个动画的效果。mPaint.setPathEffect(new DashPathEffect(new float[] {20, 10}, phase));        canvas.drawPath(mPath, mPaint);// 改变偏移值phase++;// 重绘,产生动画效果invalidate();

这里写图片描述

//给path设置自定义样式的虚线        Path path = new Path();          path.addCircle(0, 0, 3, Direction.CCW);          PathEffect pathEffect = new PathDashPathEffect(path, 12, phase, PathDashPathEffect.Style.ROTATE);          mPaint.setPathEffect(pathEffect);        canvas.drawPath(mPath, mPaint);        // 改变偏移值        phase++;        // 重绘,产生动画效果        invalidate();

效果:
这里写图片描述

ComposePathEffect和SumPathEffect

ComposePathEffect和SumPathEffect都可以用来组合两种路径效果,就是把两种效果二合一。唯一不同的是组合的方式:

ComposePathEffect(PathEffect outerpe, PathEffect innerpe)会先将路径变成innerpe的效果,再去复合outerpe的路径效果,即:outerpe(innerpe(Path));

SumPathEffect(PathEffect first, PathEffect second)则会把两种路径效果加起来再作用于路径。

0 0