网格布局上的手势检测
我想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