在Android中,drawRoundRect()
方法用于在自定義View上繪制圓角矩形。這個方法屬于Canvas
類,通常在自定義View的onDraw()
方法中使用。drawRoundRect()
方法有6個參數:
RectF rect
:一個RectF
對象,表示要繪制的圓角矩形的邊界。它的坐標是相對于View的坐標系的。
示例:
RectF rect = new RectF(50, 50, 200, 200);
float cornerRadius
:一個浮點數,表示圓角矩形的圓角半徑。它是一個相對于矩形寬度的比例。例如,如果圓角半徑為50,則每個圓角的直徑為100。
示例:
float cornerRadius = 50f;
Paint paint
:一個Paint
對象,用于定義繪制圓角矩形時的顏色、樣式等屬性。如果未設置此參數,將使用默認的畫筆。
示例:
Paint paint = new Paint();
paint.setColor(Color.BLUE);
paint.setStyle(Paint.Style.FILL);
boolean clip
:一個布爾值,表示是否裁剪繪制的圓角矩形。如果為true
,則只繪制圓角矩形內部的部分;如果為false
,則繪制整個圓角矩形(包括邊緣)。
示例:
boolean clip = true;
Matrix matrix
:一個Matrix
對象,用于定義變換矩陣。如果未設置此參數,將使用默認的變換矩陣。
示例:
Matrix matrix = new Matrix();
matrix.setScale(1.5f, 1.5f);
Path path
:一個Path
對象,用于定義要繪制的路徑。如果未設置此參數,將使用默認的路徑。
示例:
Path path = new Path();
path.addRoundRect(rect, cornerRadius, cornerRadius, Path.Direction.CW);
以下是一個完整的示例,展示了如何使用drawRoundRect()
方法在自定義View上繪制圓角矩形:
public class CustomView extends View {
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
RectF rect = new RectF(50, 50, 200, 200);
float cornerRadius = 50f;
Paint paint = new Paint();
paint.setColor(Color.BLUE);
paint.setStyle(Paint.Style.FILL);
boolean clip = true;
Matrix matrix = new Matrix();
matrix.setScale(1.5f, 1.5f);
Path path = new Path();
path.addRoundRect(rect, cornerRadius, cornerRadius, Path.Direction.CW);
canvas.drawPath(path, paint);
}
}