http://www.oschina.net/question/783094_132836

package com.phodev.andtools.widget;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PorterDuff;import android.graphics.PorterDuffXfermode;import android.graphics.RectF;import android.util.AttributeSet;import android.widget.ImageView;/** * 圆角ImageView *  * @author skg *  */public class RoundImageView extends ImageView {public RoundImageView(Context context, AttributeSet attrs) {super(context, attrs);init();}public RoundImageView(Context context) {super(context);init();}private final RectF roundRect = new RectF();private float rect_adius = 6;private final Paint maskPaint = new Paint();private final Paint zonePaint = new Paint();private void init() {maskPaint.setAntiAlias(true);maskPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));//zonePaint.setAntiAlias(true);zonePaint.setColor(Color.WHITE);//float density = getResources().getDisplayMetrics().density;rect_adius = rect_adius * density;}public void setRectAdius(float adius) {rect_adius = adius;invalidate();}@Overrideprotected void onLayout(boolean changed, int left, int top, int right,int bottom) {super.onLayout(changed, left, top, right, bottom);int w = getWidth();int h = getHeight();roundRect.set(0, 0, w, h);}@Overridepublic void draw(Canvas canvas) {canvas.saveLayer(roundRect, zonePaint, Canvas.ALL_SAVE_FLAG);canvas.drawRoundRect(roundRect, rect_adius, rect_adius, zonePaint);//canvas.saveLayer(roundRect, maskPaint, Canvas.ALL_SAVE_FLAG);super.draw(canvas);canvas.restore();}}


更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. Android修改默认浏览器为其他浏览器
  2. 判断当前是电脑还是手机打开网页
  3. Android使用adb命令对手机进行截屏保存到
  4. Android APP OPS移除应用程序项目的修改
  5. SharedPreferences存储数据的使用方法(转)
  6. Android垂直跑马灯效果
  7. Android开源项目分类汇总【老外汇总版本
  8. 在android中获取系统正在运行的进程
  9. Android应用程序键盘(Keyboard)消息处理机
  10. Android外部存储(/storage/emulated/0)无