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 大量数据按周分组,该如何解决
- android RadioButton如何设置默认选中
- ksoap2-android-这个包,连接webService怎么设置超时
- android 怎么重新设置锚点
- android UI界面设计解决方案
- android 图片对象获取的有关问题
- android 怎么调用淘宝支付宝接口
- Android 沿袭InputMethodService自定义输入法
- android 关于服务连接的疑义
- android 两个activity如何通信
- android 怎么实现对view的放大和缩小
- android 教程解决方法
- android ID,该如何处理
- 准备复习2-3个月,看java+android,请问有经验者,怎么看效果最好》
- android UI线程与AsyncTask的有关问题
- android(java)中的java.net能不能和c#的system.net.sockets进行tcp通信,该如何解决
- android ListView 中的onItemClick Intent 没法跳转
- android(java) 中文乱码的有关问题
- c#c++,android,ios(iphone),php,java视屏课程 散分
- android Post文件到ASP.NET的有关问题,能收到参数收不到文件
- RIM 替 Android 开发者提供免费的 PlayBook!2月13日前
- android 动态设立控件高度
- Android test project 编译方法
- android -相机使用教程(1)解决方法