Başlıkta belirttiğim gibi, uygulamanın da bir ScrollView
ve GestureDetector
vardır. ScrollView’un dokunma olaylarının dışında, GestureDetector ile soldan sağa ve sağdan sola kaydırma işlemleri gerçekleştirebilirsiniz. Hepsi iyi çalışıyor.ScrollView ile GestureLibrary Kullanma
Şimdi bir GestureLibrary
-I ortalama ham - Aktivite eklemek istiyorum. Farklı kaynaklara baktım ve bir şekilde düzgün ekledim. Ben (sarı çizgi) istediği gibi çekiyor
<android.gesture.GestureOverlayView
android:id="@+id/gOverlay"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ScrollView
android:id="@+id/content_scroll"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="none">
</ScrollView>
<!-- Other views -->
</android.gesture.GestureOverlayView>
ancak herhangi yöntemleri teşvik etmiyor: Basitçe, düzen böyle bakıyor.
/*
* Gestures
*/
gLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures);
if (!gLibrary.load()) { finish(); }
GestureOverlayView gestureOverlayView = (GestureOverlayView) findViewById(R.id.gOverlay);
gestureOverlayView.addOnGesturePerformedListener(gestureListener);
Ve burada gestureListener
geçerli:: İşte OnGesturePerformedListener
uygulanan nasıl hepsi
private OnGesturePerformedListener gestureListener = new OnGesturePerformedListener() {
public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
ArrayList<Prediction> predictions = gLibrary.recognize(gesture);
if (predictions.size() > 1) {
for(Prediction prediction: predictions){
Log.d("Test", "Looking for gestures");
}
}
}
};
. Duvar tarafından, bu kaynak kodunu ScrollView olmayan ve iyi çalışan farklı bir Etkinlik ile denedim. O dedektör kullanılarak nasıl uygulama yani
Son olarak, bu GestureDetector hakkında emin değilim:
public boolean dispatchTouchEvent(MotionEvent ev) {
if (detector != null) {
if (detector.onTouchEvent(ev)) {
return true;
}
}
return super.dispatchTouchEvent(ev);
}
Ve benim SwipeDetector
: my yaklaşımla nesi var
private class SwipeDetector extends SimpleOnGestureListener {
private static final int SWIPE_MIN_DISTANCE = 120;
private static final int SWIPE_MAX_OFF_PATH = 250;
private static final int SWIPE_THRESHOLD_VELOCITY = 200;
public boolean onFling(android.view.MotionEvent e1, android.view.MotionEvent e2, float velocityX, float velocityY) {
if(Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH) { return false; }
if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { return false; }
if(e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { filterButton.performClick();return true; }
return false;
}
}
?
Bu "dedektör" nedir? SwipeDetector nesnesi mi? –
@RahulHawge, "detektör" GestureDetector nesnesidir. – strizzwald