用drawpath

来源:2-4 [Android] 连线时线的角度

_ys

2015-03-16 11:19

为什么画线不用drawPath,省事多了

写回答 关注

4回答

  • 慕移动6171685
    2022-07-07 00:00:38

    top高43px,这个可以自己把代码copy下来,用chrome工具查看一下。或者用dw查看也可以

    drye

  • 慕前端3010514
    2022-04-03 20:35:17

    谢谢哟^_^希望对您的学习有所帮助哦

    spd10000nxpksnymcconkbfbiduunfyxturnibf

  • Centaurx
    2016-11-14 10:39:34

    谢谢你的办法

  • Js_Ly
    2016-05-10 16:31:22

    九宫格解锁


    画线

     /**

         * 进行绘制

         *

         * @param canvas 画布

         */

        @Override

        protected void onDraw(Canvas canvas) {

            Paint paint=new Paint(); //初始化画笔

            paint.setAntiAlias(true); //抗锯齿

            paint.setColor(Color.parseColor("#666666")); //画笔颜色

            paint.setStyle(Paint.Style.STROKE); //画笔风格

            paint.setPathEffect(new CornerPathEffect(3)); //圆角效果

            paint.setStrokeWidth(20); //画笔宽度

            if (!mDoneInit) {

                init();

            }

            drawPoint(canvas);

            Path path = new Path();

            if (mPressPoint.size() > 0) {

                //绘制已选点连线

                MyPoint a = mPressPoint.get(0); //初始化a点

                for (int i = 1; i < mPressPoint.size(); i++) {

                    MyPoint b = mPressPoint.get(i); //获取b点

                    path.moveTo(a.getmPX(),a.getmPY()); //设置从a点开始画

                    path.lineTo(b.getmPX(),b.getmPY()); //设置画到b点

                    canvas.drawPath(path, paint); //调用绘制函数开始绘制

                    a = b; //将b赋值给a 当做下一个初始点

                }

                //绘制与手指点连线

                if (mIsMoving) {

                    MyPoint b = new MyPoint((int)mHandX,(int)mHandY); //将手指位置设为b点

                    path.moveTo(a.getmPX(),a.getmPY()); //设置从a点开始画

                    path.lineTo(b.getmPX(),b.getmPY()); //设置画到b点

                    canvas.drawPath(path, paint); //调用绘制函数开始绘制

                }

            }

        }


Android图案解锁

本视频教程将带领大家通过自定义控件实现一个图案解锁的功能

34867 学习 · 52 问题

查看课程