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的其他变量做(从屏幕宽度和高度平均),如果你知道更多 - 赐教:)