2016-11-21 1 views
0

사용자 정의 제스처 및 GestureOverlayView를 실험하기 시작했고 내가 무엇인지, 그리고 어떤 값 범위를 할당 할 수 있는지, 어느 정도의 범위를 지정해야하는지에 대해 잘 모르는 몇 가지 변수가 있음을 알게되었습니다. 문서는 다소 모호한 것 같습니다. Android GestureOverlayView 매개 변수

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

난이도에 가정 내가 여기에 "25"을 추가 할 때, 날카로운 모서리는 제스처에 포함되어야하지만, 실제로는 여전히 IFI는 원형 또는 정사각형을 그릴 감지된다. 이 DP에

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

인가? 그것은 ... 제스처를 실행하는 데 어렵 작은 화면에 같이

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

이 무엇을 것 때문에?

편집 :

난 그냥 모든 예측이 제스처가 실제로 수행 된 요구 사항을 충족하는지 확인하는 데 사용해야 점수 값을 가지고 실현, 그래서 검사를 추가 확인하면 예측의 점수는

아직도 내가 GestureOverlayView에서 그 변수가 무엇을하고 있는지 궁금 1보다 큰, 그래서 나에게 계몽 :

답변

0

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에서 그 다른 변수가하는 일에 관심이 (화면의 폭과 높이에서 평균) 당신이 더 많은 것을 알고 있다면, 그래서 - 가르치 려 :

관련 문제