1

这是我的自定义视图中的 onDraw 代码。我用路径绘制语音气泡,我希望视图的大小与我绘制的语音气泡完全相同

protected void onDraw(Canvas canvas) {

        super.onDraw(canvas);


        Paint paint = new Paint();

        paint.setColor(Color.BLACK);
        paint.setAntiAlias(true);

        paint.setStrokeWidth(2);
        paint.setStrokeJoin(Paint.Join.ROUND);
        paint.setStrokeCap(Paint.Cap.ROUND);      
                paint.setPathEffect(new CornerPathEffect(15) );  
        paint.setStyle(Paint.Style.FILL_AND_STROKE);

        paint.setShader(new LinearGradient(0, 0, 0, getHeight(), Color.BLACK, Color.WHITE, Shader.TileMode.MIRROR));

        Path path = new Path();         

        paint.setShadowLayer(4, 2, 2, 0x80000000);

        path.moveTo(myPath[0].x, myPath[0].y);

        for (int i = 1; i < myPath.length; i++){

                path.lineTo(myPath[i].x, myPath[i].y);                  

        }

        path.close();
        canvas.drawPath(path, paint);


    }

我怎样才能做到这一点?
提前致谢!

4

1 回答 1

2
canvas.clipPath(path) 
canvas.drawPath(path, paint);
//TODO
canvas.save();
于 2013-05-30T05:26:08.690 回答