Android GestureOverlayView参数

问题描述:

我开始尝试使用自定义手势和GestureOverlayView,并注意到一些变量,我不确定它们的作用以及可以分配哪些值,文档似乎对这些变量有些模糊:Android GestureOverlayView参数

//Minimum curve angle a stroke must contain before it is recognized as a gesture. 
android:gestureStrokeAngleThreshold 

我以为这是度,当我添加“25”在这里,一个尖锐的边缘必须被包含在姿态,但实际上它仍然是检测IFI画一个圆或一个完美的正方形。

//Minimum length of a stroke before it is recognized as a gesture. 
android:gestureStrokeLengthThreshold  

这是DP?因为它似乎是在较小的屏幕则很难触发该姿势......

//Squareness threshold of a stroke before it is recognized as a gesture. 
android:gestureStrokeSquarenessThreshold 

这是什么?

编辑:

好吧,我才意识到,每一个预测具有得分值,应使用,以找出是否手势实际执行是否符合要求,所以我增加了一个检查,如果预测的得分大于1

不过我很好奇,什么GestureOverlayView这些变量都在做,所以赐教:)

gestureStrokeLengthThreshold绝对不是密度无关,但显然使用像素。如果你想设置的密度独立的阈值可以在运行时计算gestureStrokeLengthThreshold,这样的:

DisplayMetrics metrics = getResources().getDisplayMetrics(); 
    float normalizedScreenSize = (metrics.heightPixels + metrics.widthPixels)/2.0f; 
    return normalizedScreenSize * GESTURE_LENGTH_THRESHOLD; 

GESTURE_LENGTH_THRESHOLD是表示姿势应该有多长的值。 1.0的值将大致是屏幕的大小

不过我感兴趣的是在GestureOverlayView的其他变量做(从屏幕宽度和高度平均),如果你知道更多 - 赐教:)