1
我的應用需要檢測簡單的手勢(滾動,點擊,長按)和縮放。任何一個探測器都可以自行工作 - GestureDetector.SimpleOnGestureListener
用於點按/滾動,ScaleGestureDetector.SimpleOnScaleGestureListener
用於縮放。問題在於兩者結合。更具體地說,開始縮放非常困難,因此在onScaleBegin
之前不會生成幾個onScroll
事件。如何正確合併ScaleGestureDetector.SimpleOnScaleGestureListener和GestureDetector.SimpleOnGestureListener?
有沒有什麼好的方法可以解決這個問題?我能想到的唯一解決方案是在處理它們之前緩衝一些事件(事件隊列),並在檢測到onScaleBegin
時丟棄onScroll
/onTap
而不進行處理。但那會引入輸入延遲(我的應用程序已經有了,我不想讓它變得更糟)。
這正是我要做的事。問題是,你不能在同一時刻將兩個手指放在屏幕上。你會放一根手指,然後再放一根手指。如果在此期間你的第一根手指稍稍移動 - 那就是「onScroll」。 –
所以在onScroll方法中添加一些閾值 – pskink
有一些門檻。我現在正在調整它,但它似乎也不是一個好的解決方案。 –