android保存手势操作到文件&读取识别手势

android提供了用来识别和保存手势操作的仓库与绘图区,GestureLibrary与GestureOverlayView,利用它们可以很简单的实现保存手势与识别手势。

加载文件中手势:

gestureLib = GestureLibraries.fromFile(path);//实例手势仓库
gestureLib.load()//加载手势集合

 识别手势:

gestureOverlayView.addOnGesturePerformedListener(new GestureListener());//添加监听 
private final class GestureListener implements GestureOverlayView.OnGesturePerformedListener{  
        @Override  
        public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {  
            if(state){  
                List<Prediction> predictions = mLibrary.recognize(gesture);//从手势库中查询匹配的内容,匹配的结果可能包括多个相似的结果,匹配度高的结果放在最前面  
                if(!predictions.isEmpty()){  
                    Prediction prediction = predictions.get(0);  
                    //prediction的score属性代表了与手势的相似程度  
                    //prediction的name代表手势对应的字母  
                    if(prediction.score > 1){  
                        addressText.setText(prediction.name);  
                    }  
                }  
            }  
        }  
    }  

 保存手势:

gestureLib.addGesture(name, gesture);//第一个参数为手势名字String类型
gestureLib.save()

 将手势转换成图片:

Bitmap bitmap = gesture.toBitmap(width, height, inset, color);  
//参数为别为宽,高,内间距,笔触颜色

 最后转载一些GestureOverlayView的常用属性:

 

GestureOverlayView:一种用于手势输入的透明覆盖层,可覆盖在其他控件的上方,也可包含其他控件。

Android:eventsInterceptionEnabled 定义当手势已经被识别出来时,是否拦截手势动作

Android:fadeDuration 当用户画完手势时,手势淡出效果的持续时间,单位为毫秒(milliseconds)

Android:fadeEnabled 定义识别完手势后,手势是否自动淡出

Android:fadeOffset 淡出延迟,单位为毫秒,即用户画完手势之后到手势淡出之间的时间间隔

Android:gestureColor 描绘手势的颜色

Android:gestureStrokeAngleThreshold 识别是否为手势前,一笔必须包含的最小曲线度

Android:gestureStrokeLengthThreshold 识别是否为手势前,一笔的最小长度

Android:gestureStrokeSquarenessThreshold 识别是否为手势前,一笔的偏斜度阀值

Android:gestureStrokeType 定义笔画(定义为手势)的类型

Android:gestureStrokeWidth 画手势时,笔划的宽度

Android:orientation 指出是水平(当Orientation为vertical),还是垂直(当orientation为horizontal)笔画自动定义为手势

Android:uncertainGestureColor 未确定为手势之前,描绘用户笔画的颜色

你可能感兴趣的:(android,手势识别)