package com.*.widget; import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PaintFlagsDrawFilter;import android.graphics.Path;import android.graphics.Region;import android.util.AttributeSet;import android.widget.ImageView; /** * * android circle imageView * @author Block Cheng * */public class CircleImageView extends ImageView { Path path; public PaintFlagsDrawFilter mPaintFlagsDrawFilter;// 毛边过滤 Paint paint; public CircleImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO Auto-generated constructor stub init(); } public CircleImageView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub init(); } public CircleImageView(Context context) { super(context); // TODO Auto-generated constructor stub init(); } public void init(){ mPaintFlagsDrawFilter = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG); paint = new Paint(); paint.setAntiAlias(true); paint.setFilterBitmap(true); paint.setColor(Color.WHITE); } @Override protected void onDraw(Canvas cns) { // TODO Auto-generated method stub float h = getMeasuredHeight()- 3.0f; float w = getMeasuredWidth()- 3.0f; if (path == null) { path = new Path(); path.addCircle( w/2.0f , h/2.0f , (float) Math.min(w/2.0f, (h / 2.0)) , Path.Direction.CCW); path.close(); } cns.drawCircle(w/2.0f, h/2.0f, Math.min(w/2.0f, h / 2.0f) + 1.5f, paint); int saveCount = cns.getSaveCount(); cns.save(); cns.setDrawFilter(mPaintFlagsDrawFilter); cns.clipPath(path,Region.Op.REPLACE); cns.setDrawFilter(mPaintFlagsDrawFilter); cns.drawColor(Color.WHITE); super.onDraw(cns); cns.restoreToCount(saveCount); } }
详细解决方案
android展示圆形图片
热度:110 发布时间:2016-04-28 00:20:37.0
相关解决方案
- android 读取byte[]中的元素解决方案
- android 标题栏兑现方式
- android 中Activity向BroadcastReceiver发送数据,该怎么解决
- Android 4.0 为什么模拟器老是提示小弟我谷歌拼音输入法已停止
- android:getSharedPreferences() 这是哪个类的方法解决思路
- android 怎么判断一个程序是否联网
- android RadioButton如何设置默认选中
- android 怎么重新设置锚点
- android 图片对象获取的有关问题
- android 关于服务连接的疑义
- android 怎么实现对view的放大和缩小
- android ID,该如何处理
- 准备复习2-3个月,看java+android,请问有经验者,怎么看效果最好》
- android UI线程与AsyncTask的有关问题
- android(java) 中文乱码的有关问题
- android 动态设立控件高度
- Android test project 编译方法
- android 4.03启动出错,显示"Encryption Unsuccessful"该如何解决
- Android 下面的listView的动态效果怎么实现的?求源代码,多谢
- Android?Palm?Symbian?Windows Mobile?学哪个有“钱图”?解决方案
- Android 开发语言,该怎么解决
- 单个人去做手机开发选什么平台好?android,iphone?解决办法
- Android 虚拟机崩溃的有关问题
- 想学学移动平台的开发 android 还是windows phone7好啊该怎么处理
- Android 上的如何读写设备文件
- Android 2.2 API 汉语文档系列(3) —— AccessibilityService
- 【先睹为快】ArcGIS Android SDK上一版本新特性
- ArcGIS for Android app v2.0.4公布
- android.hardware.USB种介绍
- android linux开发 在线电子书解决方案