试图将这个“手势”功能添加到我的第一个程序中,几乎我所做的每一次搜索都来到了这个帖子:
Fling gesture detection on grid layout
我能够让它工作......但就我而言,我不确定它是否100%正确。
在我的布局中,我有3个水平linearLayouts,每个都有5个按钮..所以它是3列5个按钮..根据我必须的线程:
“将您的手势监听器附加到您添加到主布局的所有视图中;”
这意味着所有15个按钮:
“button.setOnTouchListener(gestureListener);”
难道我不能说带按钮的LinearLayouts是那些寻找滑动手势的人吗?或者因为它们“隐藏”在按钮的背面,这是不可能完成的?
因为我有另外一个布局,我想用它实现,它还有更多的按钮..
所以..只是想在我的屏幕上寻找一种更简单的方法来向右滑动|离开..如果确实存在..
提前谢谢
答案 0 :(得分:15)
我不能这么说 带按钮的LinearLayouts是 那些寻找滑动的人 手势?或者因为它们是“隐藏的” 在按钮的背面,这不可能 可以吗?
我认为这正是你要面对的问题,除非你检测到所有视觉对象的滑动。
屏幕上的按钮(或其他小部件)越多,用户在开始/结束滑动手势时就越准确 - 换句话说,他们需要在按钮之间的间隙中开始/结束
要检测滑动需要开始和结束位置 - 如果用户在按钮上开始和结束(没有收听滑动),则不会检测到滑动。同样,从按钮开始到“间隙”结束(反之亦然)将不会检测到有效的滑动,因为只有一个起点/终点对“滑动检测”有效。
我能想到的最佳方法(尽管我从未尝试过)是使用GestureOverlayView。这使您可以在背景视图的顶部设置透明覆盖,并可用于检测“滑动”之类的内容,而无需您的基础视图需要了解手势。
在开发人员资源Gestures
中查看此内容