网格布局上的手势检测
我想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 { ...
如果我的活动实现, OnTouchListener
那么我没有 onFling
方法override
(它有两个事件作为参数,允许我确定是否值得注意)。
public class SelectFilterActivity extends Activity implements View.OnClickListener, OnTouchListener { ...
如果我做了一个自定义View
,就像GestureImageView
那个扩展ImageView
我不知道如何告诉活动fling
从视图中发生了。无论如何,我试过这个,当我触摸屏幕时没有调用这些方法。
我真的只需要一个跨视图的具体例子。什么,何时以及如何附上这个listener
?我还需要能够检测单击。
// Gesture detectionmGestureDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() { public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { int dx = (int) (e2.getX() - e1.getX()); // don't accept the fling if it's too short // as it may conflict with a button push if (Math.abs(dx) > MAJOR_MOVE && Math.abs(velocityX) > Math.absvelocityY)) { if (velocityX > 0) { moveRight(); } else { moveLeft(); } return true; } else { return false; } }});
是否可以在屏幕顶部放置透明视图来捕捉啪啪声?
如果我inflate
从XML中选择不使用我的子图像视图,我可以将GestureDetector
构造函数参数传递给ImageView
我创建的新子类吗?
这是我试图让fling
检测工作的非常简单的活动:SelectFilterActivity(改编自photostream)。
我一直在看这些来源:
到目前为止,没有什么对我有用,我希望有一些指示。
慕尼黑8549860