我想在像这个图像的视图的中心绘制矩形.为此,我使用以下代码
public class TransparentView extends View {
public TransparentView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public TransparentView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public TransparentView(Context context) {
super(context);
}
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
canvas.drawColor(Color.parseColor("#60000000"));
Paint borderPaint = new Paint();
borderPaint.setARGB(255, 255, 128, 0);
borderPaint.setStyle(Paint.Style.STROKE);
borderPaint.setStrokeWidth(4);
Paint innerPaint = new Paint();
innerPaint.setARGB(0, 0, 0, 0);
innerPaint.setAlpha(0);
innerPaint.setStyle(Paint.Style.FILL);
RectF drawRect = new RectF();
drawRect.set(100, 100, 100,100);
canvas.drawRect(drawRect, innerPaint);
canvas.drawRect(drawRect, borderPaint);
}
}
Run Code Online (Sandbox Code Playgroud)
如何在矩形内部完全透明,在外部区域透明度差?
小智 12
只是用
innerPaint.setStyle(Paint.Style.STROKE);
Run Code Online (Sandbox Code Playgroud)
代替
innerPaint.setStyle(Paint.Style.FILL);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19094 次 |
| 最近记录: |