自定义控件

带边框的圆形图片

圆角图片:

public class CircleImageView extends ImageView{

public CircleImageView(Context context){

super(context);

}

public CircleImageView(Context context,AttributeSet attrs){

super(con'text,attrs);
}

public CircleImageView(Context context, AttributeSet attrs,int defStyle){

super(context,attrs,defStyle);

}

private int bWidth=10;//边框宽度

private int bColor=Color.WHITE;//边框颜色

//设置圆形图片的边框颜色

public void setBorderColor(int color){

bColor=color;

}

//设置圆形图片的边框高度

public void setBorderWidth(int width){

bWidth=width;

}

//设置圆形图片的边框宽度和颜色

public void setBorderWidth(int width,int color){

bWidth=width;

bColor=color;

}

public void setImageBitmap(Bitmap bm){

int d =Math.min(bm.getWidth,bm.getHeight());//得到圆直径

Bitmap dest=Bitmap.createBitmap(d,d,bm.getConfig());//创建一个副本

//画边框

Canvas c=new Canvas(dese);

Paint  paint =new Paint();

paint.setColor(bColor);//边框颜色

paint.setAntiAlias(true);//设置抗锯齿

c.drawCircle(d/2,d/2,d/2,paint);//画圆

Path path=new Path();

path.addCircle(d/2,d/2,d/2-bWidth,,Paint.Direction.CW);

c.clipPath(path).//裁剪区域

Matrix matrix=new Matrix();//不缩放

c.drawBtimap(bm,matrix,paint);//把图画上去

super.setImageBtimap(dest);

}

}

public class MainActivity extends Activity{

private CircleImageView iv;

protected void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

iv=(ColcleImageView) findViewById(R.id.iv);

iv.setBorderWidth(15,Color.BLUE);//设置边框宽度和颜色

iv.setImageBitmap(BItmapFactory.decodeResorce(getResource(),R.drawable.photo));//设置图片

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值