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