1. Canvas(画布):
Canvas是Android图形库的基础类之一,它提供了绘制图形的方法。你可以通过Canvas对象绘制各种形状、文本、位图等。Canvas通常与View的onDraw()方法一起使用。
重要方法:
- drawColor(int color): 在整个Canvas上绘制单一颜色。
- drawText(String text, float x, float y, Paint paint): 在指定位置绘制文本。
- drawRect(RectF rect, Paint paint): 在指定的矩形区域绘制矩形。
- drawCircle(float cx, float cy, float radius, Paint paint): 在指定位置绘制圆。
- drawBitmap(Bitmap bitmap, float left, float top, Paint paint): 在指定位置绘制位图。
2. Paint(画笔):
Paint是用于描述如何绘制图形的类。你可以通过Paint对象设置颜色、样式、字体等属性,以及应用各种效果。
重要方法:
- setColor(int color): 设置绘制图形的颜色。
- setStyle(Paint.Style style): 设置绘制图形的样式,如填充、描边等。
- setTextSize(float textSize): 设置绘制文本的字体大小。
- setStrokeWidth(float width): 设置描边的宽度。
- setAntiAlias(boolean aa): 设置是否开启抗锯齿。
3. Path(路径):
Path是一条路径,可以包含直线、曲线等多种图形,用于定义需要绘制的图形的形状。Path通常与Canvas一起使用,用于绘制自定义图形。
重要方法:
- moveTo(float x, float y): 移动起始点。
- lineTo(float x, float y): 连接到目标点,绘制直线。
- quadTo(float x1, float y1, float x2, float y2): 绘制二次贝塞尔曲线。
- cubicTo(float x1, float y1, float x2, float y2, float x3, float y3): 绘制三次贝塞尔曲线。
- arcTo(RectF oval, float startAngle, float sweepAngle, boolean forceMoveTo): 绘制弧线。
这三个工具类通常结合使用,例如,在Canvas上使用Paint来设置颜色和样式,并使用Path定义需要绘制的图形。以下是一个简单的例子:
public class CustomView extends View {
private Paint paint;
private Path path;
public CustomView(Context context) {
super(context);
init();
}
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
paint = new Paint();
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(5);
path = new Path();
path.moveTo(100, 100);
path.lineTo(200, 200);
path.quadTo(300, 100, 400, 200);
path.cubicTo(500, 100, 600, 300, 700, 200);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawPath(path, paint);
}
}
这个例子创建了一个自定义View,在onDraw()方法中使用Canvas绘制了一条路径,路径的形状由Path定义,而绘制的样式和颜色由Paint设置。这只是一个简单的例子,实际应用中可以根据需求使用更复杂的图形和效果。
转载请注明出处:http://www.zyzy.cn/article/detail/15215/Android