मैं ScrollView
पर हावभाव के onFling()
इवेंट सेट, लेकिन यह scrollview पर काम नहीं कर रहा,एंड्रॉइड में स्क्रॉलव्यू पर जेस्चर की ऑनफ्लिंग() घटना को कैसे सेट करें?
package com.doubletap;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.GestureDetector.OnDoubleTapListener;
import android.view.GestureDetector.OnGestureListener;
import android.view.MotionEvent;
import android.widget.TextView;
public class DoubleTapActivity extends Activity implements OnGestureListener
{
private GestureDetector gd;
private TextView tvTap;
String TAG = getClass().getSimpleName();
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;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tvTap = (TextView)findViewById(R.id.tvTap);
gd = new GestureDetector(this);
gd.setOnDoubleTapListener(new OnDoubleTapListener()
{
@Override
public boolean onDoubleTap(MotionEvent e)
{
return false;
}
@Override
public boolean onDoubleTapEvent(MotionEvent e)
{
return false;
}
@Override
public boolean onSingleTapConfirmed(MotionEvent e)
{
return false;
}
});
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
return gd.onTouchEvent(event);//return the double tap events
}
@Override
public boolean onDown(MotionEvent e)
{
return false;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
{
try {
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) {
tvTap.setText("Flip Right to Left");
Log.v(TAG, "Right to Left");
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
tvTap.setText("Flip Left to Right");
Log.v(TAG, "Left to Right");
}
} catch (Exception e)
{
}
return false;
}
@Override
public void onLongPress(MotionEvent e)
{
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
{
return false;
}
@Override
public void onShowPress(MotionEvent e)
{
}
@Override
public boolean onSingleTapUp(MotionEvent e)
{
return false;
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="@string/hello" android:textStyle="bold" /> <TextView android:id="@+id/tvTap" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20dip" > </TextView> <TextView android:id="@+id/tvTapEvent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dip" > </TextView> <ScrollView android:id="@+id/scroll" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button1" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button2" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button3" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button4" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button5" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button6" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button7" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button8" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button9" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Button10" /> </LinearLayout> </ScrollView>
किसी को भी पता है कि करने के लिए करता है स्क्रॉलव्यू पर ऑनफलिंग() ईवेंट को कार्यान्वित करें ??
आप इन ओवरराइड विधियों में झूठी वापसी कर रहे हैं, और भी सच लौटने की कोशिश करें। –