是否可以使用onTouchEvent來測量某人在屏幕上拖動手指的距離?任何想法,將不勝感激。衡量您在Android中使用onTouchEvent拖動多遠?
回答
您可以使用ACTION_DOWN
和ACTION_UP
來存儲手指觸摸的起點和終點,並計算拖動的距離。
例如:
Point p1;
Point p2;
View view = new View(this);
view.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN)
p1 = new Point((int) event.getX(), (int) event.getY());
else if(event.getAction() == MotionEvent.ACTION_UP)
p2 = new Point((int) event.getX(), (int) event.getY());
return false;
}
});
和距離等於Math.sqrt(Math.pow(p1.x-p2.x, 2) + Math.pow(p1.y-p2.y, 2))
。而且,如果要計算隨時拖動的距離,則可以存儲第二個位置if(event.getAction() == MotionEvent.ACTION_MOVE)
。
正是我需要的,謝謝! – 2012-07-23 01:57:39
享受它。請投我:) – 2012-07-23 10:26:24
@HosseinMobasher謝謝, – 2015-12-21 17:43:13
- 1. 您使用什麼工具衡量衡量指標的績效?
- 2. 無法使用Osmdroid實現onTouchEvent(拖放)
- 3. 如何區分拖動和點擊onTouchEvent()?
- 4. Android中的onTouchEvent()
- 5. 使用onTouchEvent時無法拖動某個區域
- 6. 衡量Android應用啓動時間
- 7. onTouchEvent方法在Android中不起作用
- 8. 拖動在Android
- 9. Android:拖動多個視圖
- 10. 在拖動時發生拖動,在android中更改拖影
- 11. 使用的onTouchEvent
- 12. Android onScale onTouchEvent
- 13. Android Textview onTouchEvent
- 14. Android Button或onTouchEvent
- 15. android ontouchevent opengl
- 16. Android onHoverEvent和onTouchEvent
- 17. android onTouchEvent工作
- 18. ontouchevent in android
- 19. 您如何負載均衡TCP流量?
- 20. Android - 從onTouchEvent()訪問成員變量
- 21. 在Android中拖動圖像
- 22. 在android中拖動SurfaceView
- 23. 使用Flixel覆蓋onTouchEvent(Android端口)
- 24. Android父onTouchEvent劫持孩子onTouchEvent
- 25. 使用的onTouchEvent在AlertDialog
- 26. NullPointerException onTouchEvent當使用多個覆蓋
- 27. 的onTouchEvent在BaseAdapter的Android
- 28. dispatchTouchEvent及的onTouchEvent在Android的
- 29. 在視圖類Android的onTouchEvent
- 30. 使用多個重量的組合來衡量重量
您可以使用'MotionEvent.getX()'獲取事件的位置並將pos保存爲兩個不同的變量;一個'previous_pos'和'current_pos',然後計算差異。檢查[這裏](http://developer.android.com/reference/android/view/MotionEvent.html#getX(int))。當第一個MotionEvent發生時,將初始位置設置爲previous_pos,然後下一個將是current_pos。每個MotionEvent完成後,將previous_pos設置爲current_pos。 – adchilds 2012-07-23 01:12:53