Android Studio 圆形头像
2016-01-02 16:27
441 查看
import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.PorterDuffXfermode; import android.graphics.RectF; import android.graphics.Xfermode; import android.graphics.drawable.BitmapDrawable; import android.util.AttributeSet; import android.widget.ImageView; import android.graphics.PorterDuff; /** * Created by Administrator on 2016/1/2 0002. */ public class PorterDuffViewImage extends ImageView { private Paint mpaint; private static Xfermode xfermode; private static Bitmap bitmap; private RectF rect; public PorterDuffViewImage(Context context) { super(context); init(); } public PorterDuffViewImage(Context context, AttributeSet attrs) { super(context, attrs); init(); } public PorterDuffViewImage(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); int width = getWidth(); int height = getHeight(); Bitmap.Config config = Bitmap.Config.ARGB_8888; Canvas canvas1 = null; BitmapDrawable drawable = (BitmapDrawable)getDrawable(); drawable.setBounds(0, 0, width, height); drawable.draw(canvas); if (bitmap == null){ Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); rect = new RectF(0,0,width,height); bitmap = Bitmap.createBitmap(width, height, config); canvas1 = new Canvas(bitmap); canvas1.drawOval(rect, paint); } mpaint.setXfermode(xfermode); canvas.drawBitmap(bitmap,0,0,mpaint); } private void init(){ setLayerType(LAYER_TYPE_SOFTWARE,null); xfermode = new PorterDuffXfermode(PorterDuff.Mode.DST_IN); mpaint = new Paint(Paint.ANTI_ALIAS_FLAG); } }
相关文章推荐
- EditText限制输入数字,精确到小数点后1位设置
- android中使用Preference API实现设置界面
- Android 环境搭建
- Android Imageview中获取缓存图片添加水印
- android studio中导入Slidingmenu侧边栏
- android 图片操作之色彩变换
- Android studio提交SVN需要忽略的文件
- android post提交数据
- Android 使用开源xUtils来实现多线程下载(非原创)
- Android应用最广的模式-单例模式
- Android 仿Path效果ArcMenu
- Android Studio使用
- android - activity和fragment生命周期
- Android——universal-imageloader开源库的使用
- Android中的FragmentManager的问题
- 【Android】自定义View -- 钟表
- 六款值得推荐的android(安卓)开源框架简介
- android 下多线程断点下载服务器文件
- java版android Handler机制模型
- Android菜鸟的成长笔记(27)——ViewPager的使用