如何在代码中设置view的圆角,以及边线,背景颜色

2025-05-08 15:21:01
推荐回答(1个)
回答1:

  要一劳永逸的话,最好自己重写一个view.给你提供思路,这是我用的的一个带框的imageview。你也可以写其他的。可以通过set方法改变border的颜色宽度。
  public class MyImageView extends ImageView {

  private int co;
  private int borderwidth;
  public MyImageView(Context context) {
  super(context);
  }
  public MyImageView(Context context, AttributeSet attrs,
  int defStyle) {
  super(context, attrs, defStyle);
  }

  public MyImageView(Context context, AttributeSet attrs) {
  super(context, attrs);
  }
  //设置颜色
  public void setColour(int color){
  co = color;
  }
  //设置边框宽度
  public void setBorderWidth(int width){
  
  borderwidth = width;
  }
  @Override
  protected void onDraw(Canvas canvas) {
  super.onDraw(canvas);
  // 画边框
  Rect rec = canvas.getClipBounds();
  rec.bottom--;
  rec.right--;
  Paint paint = new Paint();
  //设置边框颜色
  paint.setColor(co);
  paint.setStyle(Paint.Style.STROKE);
  //设置边框宽度
  paint.setStrokeWidth(borderwidth);
  canvas.drawRect(rec, paint);
  }
  }