我想fling在我的Android应用程序中运行手势检测.
我拥有的是GridLayout包含9 ImageView秒的内容.源代码可以在这里找到:Romain Guys的网格布局.
我拿的那个文件来自Romain Guy的Photostream应用程序,并且只是略微适应了.
对于简单的点击情况,我只需要onClickListener为ImageView我添加的每一个设置为activity实现的主要部分View.OnClickListener.实现识别a的东西似乎无比复杂fling.我认为这是因为它可能跨越views?
如果我的活动实现,
OnGestureListener我不知道如何将其设置为我添加Grid的Image视图或视图的手势监听器.
public class SelectFilterActivity extends Activity implements
View.OnClickListener, OnGestureListener { ...
Run Code Online (Sandbox Code Playgroud)如果我的活动实现,
OnTouchListener那么我没有
onFling方法override(它有两个事件作为参数,允许我确定是否值得注意).
public class SelectFilterActivity extends Activity implements
View.OnClickListener, OnTouchListener { ...
Run Code Online (Sandbox Code Playgroud)如果我做了一个自定义View,就像GestureImageView那个扩展ImageView我不知道如何告诉活动fling从视图中发生了.无论如何,我试过这个,当我触摸屏幕时没有调用方法.
我真的只需要一个跨视图的具体例子.什么,何时以及如何附上这个listener?我还需要能够检测单击.
// Gesture detection
mGestureDetector = new …Run Code Online (Sandbox Code Playgroud) 市场上有一款名为Floating images的应用程序.这个应用程序具有最流畅的滚动逻辑之一.基本上,应用程序有一个覆盖整个屏幕的空白画布,然后在空白画布的顶部显示一些图像.用户可以滑动,应用程序可以在滑动方向上移动图像.此外,它也进行动力学滚动.此外,没有滚动条,因此开发人员似乎创建了一个实现所有平滑滚动逻辑的自定义视图.
如果我能得到它的来源那将是很棒的..但是任何人都有关于如何实现这种功能的任何伪代码或逻辑.任何线索,网站链接都会有所帮助.
我用来GestureDetector在自定义中实现滚动View.我的实现基于此:平滑滚动,惯性和边缘阻力/回弹
我注意到在滚动开始之前有一个短暂的停顿:我检查了onScroll消息并注意到第一个消息仅在手指移动较大之后到达,这在滚动开始时引起明显的滞后.之后滚动顺利.
它似乎只是在动作事件之间的最小距离之后GestureDetector开始发送onScroll消息,以确保手势不是长按或轻击(顺便说一句,我设置setIsLongpressEnabled(false)).
有没有办法改变这种行为并创建一个平滑的滚动,而不使用低级触摸事件实现自定义滚动手势?