package com.basic.security.widget; import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import android.graphics.RectF; import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; import com.basic.security.R; public class BorderView extends ImageView { private RectF circleRect; private int radius; public BorderView(Context context) { super(context); initView(); } public BorderView(Context context, AttributeSet attrs) { super(context, attrs); initView(); } public BorderView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initView(); } private void initView() { setLayerType(View.LAYER_TYPE_SOFTWARE, null); } @Override public void onDraw(Canvas canvas) { super.onDraw(canvas); radius = (int) getResources().getDimension(R.dimen.corner_radius); circleRect = new RectF(0, 0, this.getWidth(), this.getHeight()); Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); paint.setColor(getResources().getColor(R.color.bg_color)); paint.setStyle(Paint.Style.FILL); canvas.drawPaint(paint); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); canvas.drawRoundRect(circleRect, radius, radius, paint); } }