我想設置一個響應onTouch的按鈕的GridView。例如,如果我將手指水平,垂直或對角地劃過屏幕,則需要選中觸摸的按鈕。我嘗試設置OnTouchListener的按鈕,但這不起作用,只有拖動事件中的第一個按鈕接收到onTouch事件。GridView onTouch
接下來我嘗試爲GridView創建一個OnTouchListener,然後使用X,Y座標確定觸摸哪個按鈕。這似乎不起作用,因爲如果我在GridView的邊緣開始拖動,MOTION_DOWN事件只傳遞給GridView的onTouch()。實際上,如果我在水平方向上拖動手指,除非在GridView邊緣開始拖動,否則onTouch事件根本不會被觸發。有誰知道更好的方法來做到這一點?
在此先感謝。
gridview.setOnTouchListener(new View.OnTouchListener()
{
@Override
public boolean onTouch(@SuppressWarnings("unused") View view, MotionEvent event)
{
float X = event.getX();
float Y = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
System.out.println("Down: " + X + "," + Y);
break;
case MotionEvent.ACTION_MOVE:
System.out.println("Move: " + X + "," + Y);
break;
case MotionEvent.ACTION_UP:
System.out.println("Up: " + X + "," + Y);
break;
}
return true;
}
}