【发布时间】:2010-05-13 14:32:50
【问题描述】:
我正在尝试设置响应 onTouch 的按钮 GridView。例如,如果我在屏幕上水平、垂直或对角滑动手指,那么我希望选择被触摸的按钮。我尝试为按钮设置 OnTouchListener,但这不起作用,只有拖动事件中的第一个按钮接收到 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;
}
}
【问题讨论】:
标签: android