ImageView加边框

来源:互联网 发布:淘宝商城帐篷 编辑:程序博客网 时间:2024/05/18 23:53
import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Rect;import android.util.AttributeSet;import android.widget.ImageView;/** * Created by beini on 2016/10/13. */public class StrokeImageView extends ImageView {   public StrokeImageView(Context context) {      super(context);      if (paint == null) {         paint = new Paint();      }   }   public StrokeImageView(Context context, AttributeSet attrs,                     int defStyle) {      super(context, attrs, defStyle);   }   public StrokeImageView(Context context, AttributeSet attrs) {      super(context, attrs);   }   Paint paint;   Boolean mBoolean = true;   @Override   protected void onDraw(Canvas canvas) {      super.onDraw(canvas);      if (paint == null) {         paint = new Paint();      }      Rect rec = canvas.getClipBounds();    // 画边框      rec.bottom--;      rec.right--;      paint.setStyle(Paint.Style.STROKE);      if (mBoolean) {         initPaint();         mBoolean = false;      }      canvas.drawRect(rec, paint);   }   public void initPaint() {      if (paint == null) {         paint = new Paint();      }      paint.setStrokeWidth(0);      paint.setColor(Color.TRANSPARENT);   }   public void setStork() {      if (paint == null) {         paint = new Paint();      }      paint.setStrokeWidth(10);      paint.setColor(getResources().getColor(R.color.app_more_gallery_color));      invalidate();   }   public void resetStork() {      if (paint == null) {         paint = new Paint();      }      paint.setStrokeWidth(0);      paint.setColor(Color.TRANSPARENT);      invalidate();   }}
1 0
原创粉丝点击