Skip to content
sinawangnan7 edited this page Sep 25, 2017 · 20 revisions

GestureLockView方法说明

相关属性修改的方法略过,具体请参看 Github Wiki Attr

方法总览

方法名 作用
getRadius() 获取半径值

补充:GestureLockView执行完onSizeChanged(w, h, oldw, oldh)方法后mRadius才有值。


方法名 作用
showErrorStatus() 显示错误状态

补充:设置后会一直显示错误状态。


方法名 作用
showErrorStatus(long millisecond) 显示错误状态多少毫秒

补充:显示错误状态millisecond毫秒后还原至初始状态


方法名 作用
clearView() 清理视图至初始状态

方法名 作用
setGestureLockListener(OnGestureLockListener listener) 设置手势监听器

方法名 作用
setPainter(Painter painter) 设置绘制者

补充:自定义绘制时使用该方法


方法细节说明

1.手势监听器设置方法: setGestureLockListener(OnGestureLockListener listener)

// 从XML视图中获取GestureLockView 
mGestureLockView = (GestureLockView) findViewById(R.id.glv);

// 设置手势解锁监听器
mGestureLockView.setGestureLockListener(new OnGestureLockListener() {

    /**
     * 监听视图解锁开始(手指按下)
     */
    @Override
    public void onStarted() {

    }

    /**
     * 图案解锁内容改变
     *
     * @param progress 解锁进度(数字字符串)
     */
    @Override
    public void onProgress(String progress) {
        
    }

    /**
     * 图案解锁完成
     *
     * @param result 解锁结果(数字字符串)
     */
    @Override
    public void onComplete(String result) {

    }
});

2.自定义绘制方法: setPainter(Painter painter)

// 从XML视图中获取GestureLockView
mGestureLockView = (GestureLockView) findViewById(R.id.glv);
        
// 设置自定义绘制者
mGestureLockView.setPainter(new Painter() {

    /**
     * 绘制正常状态的点
     *
     * @param point       点对象 中心坐标(point.x,point.y)半径 point.radius
     * @param canvas      画布
     * @param normalPaint 正常状态的画笔
     */
    @Override
    public void drawNormalPoint(Point point, Canvas canvas, Paint normalPaint) {

    }

    /**
     * 绘制按下状态的点 (参数说明类比drawNormalPoint)
     */
    @Override
    public void drawPressPoint(Point point, Canvas canvas, Paint pressPaint) {

    }

    /**
     * 绘制错误状态的点 (参数说明类比drawNormalPoint)
     */
    @Override
    public void drawErrorPoint(Point point, Canvas canvas, Paint errorPaint) {

    }
});
Clone this wiki locally