关于 canvas android 使用,请你举一个例子?
时间: 2024-02-22 10:57:03 浏览: 68
好的,下面是一个简单的使用Canvas绘制图形的Android示例程序:
首先,在XML布局文件中定义一个自定义视图:
```xml
<com.example.myapp.CanvasView
android:id="@+id/canvasView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
```
然后,在Java代码中创建CanvasView类并实现onDraw方法:
```java
public class CanvasView extends View {
private Paint paint;
private Path path;
public CanvasView(Context context, AttributeSet attrs) {
super(context, attrs);
paint = new Paint();
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(5);
path = new Path();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawPath(path, paint);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
float x = event.getX();
float y = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
path.moveTo(x, y);
break;
case MotionEvent.ACTION_MOVE:
path.lineTo(x, y);
break;
case MotionEvent.ACTION_UP:
break;
}
invalidate();
return true;
}
}
```
在这个例子中,我们创建了一个自定义视图CanvasView,在构造函数中初始化了画笔Paint和路径Path。在onDraw方法中,我们绘制了路径。在onTouchEvent方法中,我们根据用户的手指移动绘制路径。最后,我们调用invalidate方法,让视图更新并重新绘制。
这个例子只是一个简单的使用Canvas绘制图形的示例,你可以根据自己的需求和应用场景进行更加复杂和丰富的图形绘制。
阅读全文