实现圆角图片——自定义控ImageView
2017-08-25 10:52
197 查看
public class XCRoundRectImageView extends ImageView{ private Paint paint; public XCRoundRectImageView(Context context) { this(context,null); } public XCRoundRectImageView(Context context, AttributeSet attrs) { this(context, attrs,0); } public XCRoundRectImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); paint = new Paint(); } @Override protected void onDraw(Canvas canvas) { Drawable drawable = getDrawable(); if (null != drawable) { Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap(); //在这里设置图片圆的度数 Bitmap b = getRoundBitmap(bitmap, 360); final Rect rectSrc = new Rect(0, 0, b.getWidth(), b.getHeight()); final Rect rectDest = new Rect(0,0,getWidth(),getHeight()); paint.reset(); canvas.drawBitmap(b, rectSrc, rectDest, paint); } else { super.onDraw(canvas); } } private Bitmap getRoundBitmap(Bitmap bitmap, int roundPx) { 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()); final RectF rectF = new RectF(rect); paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); int x = bitmap.getWidth(); canvas.drawRoundRect(rectF, roundPx, roundPx, paint); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); canvas.drawBitmap(bitmap, rect, rect, paint); return output; } }
// 注意:layout布局替换掉原先的ImageView
<demo.test.com.app.utils.XCRoundRectImageView android:id="@+id/iv_ 4000 head" android:layout_centerInParent="true" android:layout_width="wrap_content" android:layout_height="wrap_content" />
相关文章推荐
- 安卓学习笔记---自定义ImageView实现图片圆形 ,椭圆和矩形圆角显示(矩形圆角加边框)
- Android开发之自定义圆角矩形图片ImageView的实现
- Android自定义ImageView实现图片圆形 ,椭圆和矩形圆角显示
- Android开发之自定义圆角矩形图片ImageView的实现 - Jamy Cai
- Android自定义ImageView实现图片圆形 ,椭圆和矩形圆角显示
- 自定义圆角的ImageView 还可以实现图片的圆形、椭圆形展示。
- Android自定义ImageView实现图片圆形 ,椭圆和矩形圆角显示
- Android开发之自定义圆角矩形图片ImageView的实现
- Android实现自定义ImageView的圆角矩形图片效果
- Android自定义ImageView实现图片缩放滑动,双击放大缩小,多点触控旋转,圆角矩形,圆形和仿刮刮卡效果
- 分享一个实现图片圆角,圆的自定义的ImageView,尽可能少的减少内存消耗。
- 自定义ImageView实现圆角图片和圆形图片
- 自定义imageVIew实现圆角和圆形图,片圆形图片缩小放大正常,圆角图片放大缩小有点问题
- android自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- Android自定义圆角ImageView 支持网络图片
- 自定义ImageView实现图片手势滑动、放大缩小效果
- 自定义view实现圆角图片带边框
- 自定义ImageView实现类似微信朋友圈发图片点击出来阴影效果;同时使用Picasso加载网络图片
- android 自定义View开发实战(四) 圆角矩形ImageView实现