在使用多个视图/布局时处理Android中的触摸事件

时间:2012-08-13 13:11:16

标签: java android layout views ontouchevent

我对Android编程非常陌生,并尝试使用嵌套视图来理解触摸事件。首先,这是我的应用程序的描述:

我有一个相对布局,我已经通过GUI编辑器添加了。一切都是默认的。我还创建了一个名为ClipGrid的类,它扩展了ScrollView。嵌套在里面,我做了一个Horizo​​ntalScrollView。在其中,我创建了一个TableLayout,它是行。行包含按钮。

最终结果是一个按钮网格。它一次显示4x4,但可以向任一方向滚动以显示其他按钮。

我从我的主要活动中将其调用到屏幕上,如下所示: ClipGrid clip_grid = new ClipGrid(this); 的setContentView(clip_grid);

我这样做仅仅是出于测试目的,我想我以后要在我的relativelayout中添加其他视图时必须更改它。但我认为这可能会对触摸事件产生影响。

最后,我想检测网格何时被移动,并在用户抬起手指时将新可见的4x4网格按钮捕捉到我的布局边缘。我只是不确定如何实现这一点,任何帮助将不胜感激。感谢。

1 个答案:

答案 0 :(得分:3)

处理触摸事件的方式是一种级联效果,从顶视图开始并向下移动到较低的嵌套视图。基本上,Android会将事件传递给每个视图,直到返回true

您可以实施onTouchEvent的{​​{1}}事件的一般方式是:

View