通过回调实现跟随手指的小球,绘制小球类名为:DrawView,小球半径15,画笔颜色为红色,通过重写onTouchEvent事件实现,布局文件为main.xml,
java代码
public float currentX = 40;
public float currentY = 50;
Paint p = new Paint();
public DrawView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 设置画笔的颜色
p.setColor(Color.RED);
// 绘制一个小圆(作为小球)
canvas.drawCircle(currentX, currentY, 15, p);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// 当前组件的currentX、currentY两个属性
this.currentX = event.getX();
this.currentY = event.getY();
// 通知改组件重绘
this.invalidate();
// 返回true表明处理方法已经处理该事件
return true;
}
XML布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<com.example.experiment3.DrawView
android:layout_height="match_parent"
android:layout_width="match_parent">
</com.example.experiment3.DrawView>
</LinearLayout>
实现截图