自定义控件图片圆形和边框
来源:互联网 发布:linux fstable 编辑:程序博客网 时间:2024/06/05 04:01
import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Matrix;import android.graphics.Paint;import android.graphics.Path;import android.support.annotation.Nullable;import android.util.AttributeSet;import android.widget.ImageView;/** * Created by lenovo on 2017/10/25. */public class CircleImageView extends android.support.v7.widget.AppCompatImageView { public CircleImageView(Context context) { super(context); } public CircleImageView(Context context, AttributeSet attrs) { super(context, attrs); } public CircleImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } private int bWidth = 10;// 边框宽度 private int bColor = Color.WHITE;// 边框颜色 /** * 设置圆形图片的边框颜色 * @param color */ public void setBorderColor(int color) { bColor = color; } /** * 设置圆形图片的边框宽度 * @param */ public void setBorderWidth(int width) { bWidth = width; } /** * 设置圆形图片的边框宽度和颜色 * @param */ public void setBorderWidth(int width, int color) { bWidth = width; bColor = color; } @Override 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(dest); 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, Path.Direction.CW); c.clipPath(path); // 裁剪区域 Matrix matrix = new Matrix();// 不缩放 c.drawBitmap(bm, matrix, paint);// 把图画上去 super.setImageBitmap(dest);}}
public class MainActivity extends Activity { private CircleImageView iv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv = (CircleImageView) findViewById(R.id.iv); iv.setBorderWidth(15, Color.BLUE);// 设置边框 ImageLoader.getInstance().displayImage(bigBean.getData().get(position).getImg(),iv, MyApplication.getOptions()); }}
阅读全文
0 0
- 自定义控件图片圆形和边框
- 自定义控件---带边框的圆形图片
- 圆形图片和边框
- 自定义圆形方形图片边框
- 自定义圆形图片控件
- 自定义圆形图片控件
- Android自定义圆形图片,设置边框
- Android自定义圆形图片 带边框效果
- Android圆形图片--自定义控件
- Android圆形图片自定义控件
- android-自定义圆形图片控件
- Android圆形图片--自定义控件
- Android圆形图片--自定义控件
- android 自定义控件 圆形图片
- Android圆形图片--自定义控件
- Android圆形图片--自定义控件
- 自定义圆形边框
- Android自定义控件之自定义圆形图片和圆角图片
- viewpage+fragment
- Angular订单操作
- 扫雷小游戏
- C语言程序: 约瑟夫环
- socket阻塞与非阻塞,同步与异步、I/O模型
- 自定义控件图片圆形和边框
- MySQL语句小总结
- 订单用户表2(用户名查询、手机号查询、选择城市、选择状态、选择月份、ID排序、添加数据、批量发货、批量删除、敏感字、修改数据)
- 类和对象
- async函数和await函数
- 网络套接字编程结构图
- Oracle
- TP跳点解决方案
- poj 1731 Order