Android自定义画线(模拟指针)

Android自定义画线(模拟指针)

今天和大家分享一下自定义画线功能,效果其实和安卓里开发者模式下的“指针位置”功能类似的,大概就是一个空白的界面,随着手指移动不断画线,话不多说,码上~

创建空白的Activity、画笔画布
		display = ScreenUtils.getDisplay(this);
        //创建bitmap,宽 高,图片的参数
        bitmap = Bitmap.createBitmap(display.getWidth(), display.getHeight() + 50, Bitmap.Config.ARGB_8888);
        //创建画笔和画板
        paint = new Paint();
        paint.setColor(Color.GREEN);
        canvas = new Canvas(bitmap);
        //在bitmap上作画
        canvas.drawBitmap(bitmap, new Matrix(), paint);
监听屏幕事件

这里我们实现两个效果,第一个是只画一条线,第二个是可以多点画线

	//方法一:单点画线
    public boolean onTouchEvent(MotionEvent event) {
   
        switch (event.getAction()) {
   
            case MotionEvent.ACTION_DOWN:
                x = event.getX();
                y = event.getY();
                break;
            case MotionEvent.ACTION_MOVE:
                move_x = event.getX();
                down_Y = event.getY();
                canvas.drawLine(x, y, move_x, down_Y, paint);
                x = move_x;
                y = down_Y;
                imageView.setImageBitmap(bitmap);
                break;
            case MotionEvent.ACTION_UP:
                break;
        }
        return true;
    }

上面就是单点画线的核心代码,记录按下的坐标,开始画线,然后在记录移动后的坐标并通过imageView显示即可,ACTION_MOVE是不断触发的。

多点画线

重点依然是onTouchEvent,和单点不一样的是,想要实现多点画线,我们需要监听ACTION_POINTER_DOWN和ACTION_MASK事件,下面贴上完整代码

package com.app.activity.set
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值