Helo Evryone!無法水平滑動屏幕
我想在我的應用程序中添加「輕掃」功能,但我無法這樣做。我有故事要左右滑動,反之亦然。我寫了一個具有以下實現的子類MYGestureListener。
class MyGestureListener extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
Log.e("Now", "onFling");
try {
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
return false;
// right to left swipe
if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
// checking if current index is the last index
if (ind == items.size() - 1 || ind > items.size() - 1) {
Log.e("Last Index", "Can't move further anymore");
return false;
} else {
ind++;
loadAndShowNextActivity();
}
}
// left to right
else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
if (ind <= 0) {
Log.d("First Index", "Can't move back anymore");
return false;
} else {
ind--;
loadAndShowNextActivity();
}
}
} catch (Exception e) {
System.out.println("Exception occured while flinging");
e.printStackTrace();
}
return false;
}
}
然後我在主類中覆蓋了onTouchEvent()函數。這是實現如下:
@Override
public boolean onTouchEvent(MotionEvent event) {
Log.e("Now","onTouchEvent");
if (gestureDetector.onTouchEvent(event))
return true;
else
return false;
}
,然後調用其在主類的onCreate實例如下:
gestureDetector = new GestureDetector(new MyGestureListener());
gestureListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) {
return true;
}
return false;
}
};
它不工作,請建議,並確定我要去哪裏錯了。在此先感謝.. :-)
笏錯誤烏爾得到些什麼? – Randroid
@拉胡..沒有錯誤。但功能尚未實現。當我滑過什麼都沒有發生。 –