Android涂鸦简单制作

在了解 Android 中Paint 和 Canvas 的简单使用后,下面做一个简单的涂鸦功能

先看下效果图:
 

那么来看一下是如何完成的:

/**
 * author: wu
 * date: on 2018/12/11.
 * describe:涂鸦
 */

public class MyView3 extends View {
    private Paint myPaint;
    private Path myPath;

    public MyView3(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        myPaint = new Paint();
        myPath = new Path();
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        myPaint.setColor(Color.BLUE);
        myPaint.setStrokeWidth(5);
        myPaint.setStyle(Paint.Style.STROKE);
        canvas.drawPath(myPath, myPaint);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        switch (event.getAction()) {
            //按下
            case MotionEvent.ACTION_DOWN:
                myPath.moveTo(event.getX(), event.getY());
                return true;
            case MotionEvent.ACTION_MOVE:
                myPath.lineTo(event.getX(), event.getY());
                //刷新页面
                invalidate();
                break;
            case MotionEvent.ACTION_UP:
                break;
        }
        return super.onTouchEvent(event);
    }
}

代码非常简单,首先创建画笔,设置画笔颜色、风格;其次是根据手指动的时候绘制出对象的图像,然后实时更新页面即可。

然后在布局文件中加入下面代码即可:

    <com.example.qd.permission.MyView3
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

简单的涂鸦的功能就完成了。

猜你喜欢

转载自blog.csdn.net/wuqingsen1/article/details/84967139
今日推荐