通过回调实现跟随手指的小球,绘制小球类名为:DrawView,小球半径15,画笔颜色为红色,通过重写onTouchEvent事件实现,布局文件为main.xml,

 通过回调实现跟随手指的小球,绘制小球类名为: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>

实现截图

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章