1
我在webview中加載圖像,並希望通過放棄手勢在它們之間切換,但在webview情況下實施手勢檢測器所有事件都由檢測器= webview函數作爲縮放和mt不工作。有沒有解決方法?過濾事件並將它們傳遞給ontouch?示例代碼非常精彩。如何在webview中實現甩手勢?
感謝所有。
我在webview中加載圖像,並希望通過放棄手勢在它們之間切換,但在webview情況下實施手勢檢測器所有事件都由檢測器= webview函數作爲縮放和mt不工作。有沒有解決方法?過濾事件並將它們傳遞給ontouch?示例代碼非常精彩。如何在webview中實現甩手勢?
感謝所有。
關鍵是檢查gestureDetector.onTouchEvent的返回值,如果gestureDetector沒有處理該事件,則將其傳遞給WebView超類。另外,即使你用onDown方法做了一些事情,也要確保返回「false」,所以超類可以初始化它的內部狀態。如果onFling方法處理事件,則返回「true」,否則返回「false」,以便可以應用默認方法。
public class FlingView extends WebView implements OnGestureListener {
private GestureDetector gestureDetector;
public FlingView(Context context) {
super(context);
init();
}
public void init() {
gestureDetector = new GestureDetector(this.getContext(), this);
}
@Override
public boolean onTouchEvent(MotionEvent e) {
return (
gestureDetector.onTouchEvent(e) || super.onTouchEvent(e));
}
/* OnGestureListener events */
public boolean onDown(MotionEvent e1) {
// Initialize event here
...
// give the superclass a chance at tap events
return false;
}
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
if (test) {
// handle fling
...
return true;
} else {
// let superclass handle the event
return false;
}
}
}
Thx很多!我會嘗試 – Dupla 2011-02-25 22:50:40