亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于android 中 PathEffect 的問題處理

標簽:
Android

我要画出一块由不规则path组成的区域,并且这个path因为视觉效果需要设置圆角,我就通过Paint.setPathEffect(new CornerPathEffect(300)); 给设置了圆角,但是在通过这个path组合成区域的时候因为这个圆角的设置整个区域都有圆角的效果了,这不是我想要的。

图片描述

 如图,黑色是我的path,红色是我设置了圆角的由path组成的区域。四个角落都有了圆角的效果,这不是我想要的。

而蓝色区域是未设置圆角的,此时path一侧的区域就不符合标准了。

以下是我的全部代码
public class PathEffectView extends View {    private  Path line;    private  Paint linePaint;    private  Path range;    private  Paint rangePaint;    private final Paint paint3;    public PathEffectView(Context context, @Nullable AttributeSet attrs) {        super(context, attrs);

        linePaint = new Paint(Paint.ANTI_ALIAS_FLAG);

        linePaint.setStrokeWidth(10);
        linePaint.setColor(Color.BLACK);
        linePaint.setStyle(Paint.Style.STROKE);
        linePaint.setPathEffect(new CornerPathEffect(300));

        rangePaint = new Paint(linePaint);

        rangePaint.setColor(Color.BLUE);
        rangePaint.setStyle(Paint.Style.FILL);


        paint3 = new Paint(linePaint);
        paint3.setColor(Color.RED);

    }    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {        super.onSizeChanged(w, h, oldw, oldh);

        line = new Path();
        range = new Path();

        line.moveTo(0,1000);
        line.rLineTo(200,-150);
        line.rLineTo(200,300);
        line.rLineTo(200,-350);
        line.rLineTo(200,320);
        line.rLineTo(200,-370);
        line.lineTo(w,800);


        range.addPath(line);
        range.lineTo(w,h);
        rangePaint.setPathEffect(null);
        range.lineTo(0,h);
        range.close();
    }    @Override
    protected void onDraw(Canvas canvas) {        super.onDraw(canvas);
        canvas.save();
        canvas.translate(0,-20);
        canvas.drawPath(line, linePaint);
        canvas.restore();


        canvas.drawPath(range, rangePaint);
        canvas.drawPath(range,paint3);
    }
}

原文链接:http://www.apkbus.com/blog-927916-76507.html

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消