Comment dessiner un rectangle transparent que l'intérieur de la région?

Je veux tracer un rectangle au centre de la vue comme cette image .Pour cela, je suis en utilisant le code suivant

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);

    }

}

Comment puis-je faire de la transparence à l'intérieur du rectangle et les pauvres transparente à l'extérieur de la région?

  • il n'y a aucun point en remplissant le milieu avec un alpha 0 couleur. Il suffit de dessiner le contour extérieur et c'est tout
InformationsquelleAutor Asha Soman | 2012-10-10