问题描述
- 实现视图和绘制的尺寸完全一致
-
在自定义View中的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); }
解决方案
canvas.clipPath(path)
canvas.drawPath(path, paint);
//TODO
canvas.save();
时间: 2024-08-04 13:25:03