我想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) 我有一个很好的工作TouchImageView,我想知道它是如何工作的代码:我只想做的是能够捏缩放,或使用双击放大我选择的任何imageview,当我缩放我返回图像的原始大小.TouchImageView.java:
public class TouchImageView extends ImageView {
Matrix matrix = new Matrix();
static final int NONE = 0;
static final int DRAG = 1;
static final int ZOOM = 2;
int mode = NONE;
PointF last = new PointF();
PointF start = new PointF();
float minScale = 1f;
float maxScale = 3f;
float[] m;
float redundantXSpace, redundantYSpace;
float width, height;
static final int CLICK = 3;
float saveScale = 1f;
float right, bottom, origWidth, origHeight, bmWidth, bmHeight;
ScaleGestureDetector mScaleDetector;
Context …Run Code Online (Sandbox Code Playgroud)