android实现circle Imageview
来源:互联网 发布:c专家编程,微盘 编辑:程序博客网 时间:2024/06/07 10:16
package com.czl.view;import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.PaintFlagsDrawFilter;import android.graphics.PorterDuff.Mode;import android.graphics.PorterDuffXfermode;import android.graphics.Rect;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawable.Drawable;import android.util.AttributeSet;import android.widget.ImageView;/** * 圆形的Imageview * */public class CircleImageView extends ImageView {private Paint paint = new Paint();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);}@SuppressLint("DrawAllocation")@Overrideprotected void onDraw(Canvas canvas) {Drawable drawable = getDrawable();if (null != drawable) {Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();Bitmap b = toRoundCorner(bitmap, 14);paint.reset();// 实现了图片的自适应,需要指明imageveiw的尺寸大小canvas.drawBitmap(b, new Rect(0, 0, b.getWidth(), b.getHeight()),new Rect(0, 0, getWidth(), getHeight()), paint);} else {super.onDraw(canvas);}}private Bitmap toRoundCorner(Bitmap bitmap, int pixels) {Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(), Config.ARGB_8888);Canvas canvas = new Canvas(output);final int color = 0xff424242;final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());// 抗锯齿paint.setAntiAlias(true);canvas.drawARGB(0, 0, 0, 0);paint.setColor(color);int x = bitmap.getWidth();// 抗锯齿canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG| Paint.FILTER_BITMAP_FLAG));canvas.drawCircle(x / 2, x / 2, x / 2, paint);paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));canvas.drawBitmap(bitmap, rect, rect, paint);return output;}}
0 0
- android实现circle Imageview
- android 实现圆形imageView,Circle imageView
- Xamarin Android Circle ImageView 圆形图片实现
- Android圆形头像图Circle ImageView
- Android圆形头像图Circle ImageView
- Android圆形头像图Circle ImageView
- android实现圆形ImageView
- Android圆形imageview实现
- Android实现圆形ImageView
- Android开发:Imageview半透明实现
- Android 实现不规则ImageView布局
- android ImageView实现变暗效果
- android ImageView实现变暗效果
- android ImageView实现变暗效果
- Android ImageView实现圆形头像
- Android ImageView实现图片切换
- Android imageview图片缩放实现
- Android实现自定义圆形ImageView
- 价值数十亿美元的创业公司,你知道几个?
- Oracle 数据字典 说明
- Learning Redis - 概念
- VS工程的属性设置总结
- 常见HTTP状态协议
- android实现circle Imageview
- Spring mvc 配置事务的注意点
- STL文件序列化读取
- ns2中command的用法
- 产品经理的素质能力模型
- persistence-unit jar-file路径问题
- linux ps命令参数介绍
- JQuery动态创建表单并提交
- HDU-3339-In Action(Dijkstra+01背包)