有两种方法可以给ImageView添加边框,一种是通过xml文件配置shape.另一种是重写ImageView的ondraw方法,这里用第二中方法:
packageorg.example.image.widgets;
importandroid.content.Context;
importandroid.graphics.Canvas;
importandroid.graphics.Paint;
importandroid.graphics.Rect;
importandroid.widget.ImageView;
publicclassMyImageViewextendsImageView{
//边框颜色
privateintborderColor;
//边框宽度
privateintborderWidth;
publicMyImageView(Contextcontext){
super(context);
}
//设置边框颜色
publicvoidsetBorderColor(intborderColor){
this.borderColor=borderColor;
}
//设置边框宽度
publicvoidsetBorderWidth(intborderWidth){
this.borderWidth=borderWidth;
}
//重写绘图方法
@Override
protectedvoidonDraw(Canvascanvas){
super.onDraw(canvas);
//画边框
Rectrect=canvas.getClipBounds();
rect.bottom--;
rect.right--;
Paintpaint=newPaint();
paint.setColor(borderColor);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(borderWidth);
canvas.drawRect(rect,paint);
}
}