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

一、Paint

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

效果:
这里写图片描述

//将路径变得离散,根据传入参数的不同而不同
//效果1
paint.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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值