Fling gesture detection on grid layout
我能够得到它的工作..但在我的情况下,我不知道是否100%正确.
在我的布局中,我有3个水平线性输出,每个有5个按钮..所以它是3列的5个按钮..根据线程我不得不:
“将您的手势侦听器附加到您添加到主布局的所有视图;”
这意味着所有的15个按钮:
“button.setOnTouchListener(gestureListener);”
不能说只有使用按钮的LinearLayouts才能看到滑动手势?或者因为它们在按钮的背面是“隐藏的”,这是不可能的?
因为我有另一个布局我想实现这个,它有更多的按钮..
所以..只是寻找一个更简单的方法来检测我的屏幕滑动右| |如果它存在..
先谢谢你
解决方法
Couldn’t I just say that the
LinearLayouts with the buttons are the
ones looking out for the swipe
gestures? Or because they are “hidden”
on the back of the buttons,this can’t
be done?
我认为这正是您要面对的问题,除非您检测到所有可视对象的滑动.
屏幕上的按钮(或其他小部件)越多,用户开始/结束滑动手势时就越准确 – 换句话说,他们需要在按钮之间的间隙中开始/结束.
要检测到滑动,需要开始和结束位置 – 如果用户在按钮上开始和结束(不在进行滑动),则不会检测到滑动.类似地,从按钮开始并以“间隙”(或反之亦然)结束将不会检测到有效的滑动,因为只有一个开始/结束点对“滑动检测”有效.
我可以想到的最好的方法(虽然我从来没有尝试过)是使用GestureOverlayView.这样您就可以在背景视图之上拥有透明的叠加层,并且可以用来检测诸如“滑动”之类的东西,而无需了解手势的底层视图.
在开发人员资源Gestures中看到这一点