Android:自定义ImageView展示大图中的指定区域并切圆角(雪碧图)
16lz
2021-01-23
@Overrideprotected void onDraw(Canvas canvas){ Drawable drawable = getDrawable(); if (drawable instanceof BitmapDrawable) { Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap(); Paint paint = new Paint(); ...//根据需要计算展示区域在大图中的位置 // 绘制大图的某个区域,左上右下 Rect src = new Rect(left, top, right, bottom); // 绘制区域,填满控件 Rect des = new Rect(0, 0, getWidth(), getHeight()); // 圆角 Path clipPath = new Path(); clipPath.addRoundRect(new RectF(des), radius, radius, Path.Direction.CW); canvas.clipPath(clipPath); canvas.drawBitmap(bitmap, src, des, paint); } else { super.onDraw(canvas); }}
更多相关文章
- 控件:TouchProject(绘图) --- 触摸事件
- 控件_RadioGroup&&RadioButton(单选按钮)和Toast
- Android的xml布局文件代码讲解(TextView控件)
- Android 三角标签控件、角标(AvatarLabelView)
- [Android]ButterKnife-无尽之刃-绑定视图控件和事件的快速开发工
- Android实现购物车加减器控件
- android控件详解----TextView
- android 自定义控件之一