Android(安卓)自定义Drawable 实现圆角矩形和圆形图片
16lz
2022-01-23
一,自定义圆角矩形Drawable
public class RoundRectImageDrawable extends Drawable {
private Bitmap mBitmap;private Paint mPaint;private RectF rectF;public RoundRectImageDrawable(Bitmap bitmap) { mBitmap = bitmap; BitmapShader mBitmapShader = new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP); mPaint = new Paint(); mPaint.setAntiAlias(true); mPaint.setShader(mBitmapShader); rectF = new RectF(0, 0, bitmap.getWidth(), bitmap.getHeight());}@Overridepublic void setBounds(int left, int top, int right, int bottom) { super.setBounds(left, top, right, bottom); rectF = new RectF(left, top, right, bottom);}@Overridepublic void draw(@NonNull Canvas canvas) { //(@NonNull RectF rect, float rx, float ry, @NonNull Paint paint) canvas.drawRoundRect(rectF, 15, 15 ,mPaint);}@Overridepublic void setAlpha(@IntRange(from = 0, to = 255) int alpha) { mPaint.setAlpha(alpha);}@Overridepublic void setColorFilter(@Nullable ColorFilter colorFilter) { mPaint.setColorFilter(colorFilter);}@Overridepublic int getOpacity() { return PixelFormat.TRANSLUCENT;}@Overridepublic int getIntrinsicWidth() { return mBitmap.getWidth();}@Overridepublic int getIntrinsicHeight() { return mBitmap.getHeight();}
}
更多相关文章
- 2013.09.22——— android GridView行背景
- Android(安卓)Canvas类介绍和Android(安卓)Draw Rect 坐标图示
- Android(安卓)Canvas类介绍和Android(安卓)Draw Rect 坐标图示
- xml中设置圆角矩形框
- Android——新手指引 指定View高光显示自定义控件
- Android(安卓)快速将一个Bitmap变成圆形或圆角矩形 kotlin
- android绘图
- Android(安卓)onDraw
- android绘图