自定义圆形imageView
来源:互联网 发布:js filter 实现 编辑:程序博客网 时间:2024/06/05 21:04
5、
【ImageView】自定义ImageView系列(一)——简单圆形图片
/**
* 自定义的圆形ImageView,可以直接当组件在布局中使用。
* @author caizhiming
*
*/
public class CircleImageView extends ImageView{
private Paint paint ;
publicCircleImageView(Context context) {
this(context,null);
}
publicCircleImageView(Context context, AttributeSet attrs) {
this(context,attrs,0);
}
publicCircleImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs,defStyle);
paint = new Paint();
}
/**
* 绘制圆形图片
* @author caizhiming
*/
@Override
protected voidonDraw(Canvas canvas) {
Drawable drawable =getDrawable();
if (null != drawable){
Bitmap bitmap =((BitmapDrawable) drawable).getBitmap();
Bitmap b =getCircleBitmap(bitmap,14);
final Rect rectSrc= new Rect(0, 0, b.getWidth(), b.getHeight());
final RectrectDest = new Rect(0,0,getWidth(),getHeight());
paint.reset();
canvas.drawBitmap(b, rectSrc, rectDest, paint);
} else {
super.onDraw(canvas);
}
}
/**
* 获取圆形图片方法
* @param bitmap
* @param pixels
* @return Bitmap
* @author caizhiming
*/
private BitmapgetCircleBitmap(Bitmap bitmap, int pixels) {
Bitmap output =Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Config.ARGB_8888);
Canvas canvas = newCanvas(output);
final int color =0xff424242;
final Rect rect = newRect(0, 0, bitmap.getWidth(), bitmap.getHeight());
paint.setAntiAlias(true);
canvas.drawARGB(0, 0,0, 0);
paint.setColor(color);
int x =bitmap.getWidth();
canvas.drawCircle(x /2, x / 2, x / 2, paint);
paint.setXfermode(newPorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}
}
(2)定义一个imageView;
<com.yztc.CircleImageUtils.CircleImageView
android:id="@+id/img_Anli_facePic"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@mipmap/person1"
android:layout_marginBottom="35dp"
android:layout_marginRight="30dp"
android:layout_gravity="right|bottom" />
6、
- 圆形imageview自定义
- 自定义圆形ImageView
- 自定义android圆形ImageView
- android自定义圆形imageview
- 自定义圆形ImageView(一)
- 自定义圆形ImageView
- 自定义圆形ImageView
- 自定义圆形ImageView
- 自定义圆形ImageView
- 自定义圆形图片 ImageView
- 自定义圆形ImageView-简单
- 自定义圆形Imageview
- 自定义圆形ImageView
- 自定义圆形ImageView
- 自定义圆形imageview
- 自定义圆形的Imageview
- 自定义圆形ImageView
- 自定义圆形ImageView控件
- Java 第十二章 类的无参方法
- Google浏览器划词翻译
- LeetCode: Maximum Subarray
- android实现刮刮卡
- redis java下的使用
- 自定义圆形imageView
- [NOI 2005] 瑰丽华尔兹:dp+单调队列
- hdu 5875 单调栈+离线
- Python相对、绝对导入浅析
- hdu 5873
- 设置读写分离后数据同步的配置方法
- Google 的开源技术protobuf 简介与例子
- LeetCode-Roman to Integer
- 卷积