- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写简单的代码来检测所有手势,如滑动、滚动等,并打算实现接口(interface) GestureDetector.OnGestureListener
用于覆盖它的方法,但我知道同样可以用 GestureDetector.SimpleOnGestureListener
完成.据我所知SimpleOnGestureListener
是一个实现了 OnGestureListener
的类, OnDoubleTapListener
和 OnContextClickListener
接口(interface),如果我错了,请纠正我。
在 Android Developer 网站页面上写着 -
If you only want to process a few gestures, you can extend
GestureDetector.SimpleOnGestureListener
instead of implementing theGestureDetector.OnGestureListener
interface.
GestureDetector.SimpleOnGestureListener
provides an implementation for all of theon<TouchEvent>
methods by returning false for all of them. Thus you can override only the methods you care about. For example, the snippet below creates a class that extendsGestureDetector.SimpleOnGestureListener
and overridesonFling()
andonDown()
.
我在这里有几个问题,
1) 为什么要使用GestureDetector.SimpleOnGestureListener
如果我们可以实现 GestureDetector.OnGestureListener
以及其他使用这些方法的接口(interface)?
2) 是GestureDetector.SimpleOnGestureListener
一样没有区别?是为了简化编码?
最佳答案
来自 GestureDetector.SimpleOnGestureListener 的文档
A convenience class to extend when you only want to listen for a subset of all the gestures. This implements all methods in the GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener, and GestureDetector.OnContextClickListener but does nothing and return false for all applicable methods.
如果您只想实现一些方法(不是全部),SimpleOnGestureListener
具有不执行任何操作的默认实现。这可以防止您的代码被多种无所事事的方法弄得乱七八糟。从功能的角度来看,使用 SimpleOnGestureListener
还是直接实现接口(interface)都没有关系。
源代码
public static class SimpleOnGestureListener implements OnGestureListener, OnDoubleTapListener,
OnContextClickListener {
public boolean onSingleTapUp(MotionEvent e) {
return false;
}
public void onLongPress(MotionEvent e) {
}
public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX, float distanceY) {
return false;
}
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
return false;
}
public void onShowPress(MotionEvent e) {
}
public boolean onDown(MotionEvent e) {
return false;
}
public boolean onDoubleTap(MotionEvent e) {
return false;
}
public boolean onDoubleTapEvent(MotionEvent e) {
return false;
}
public boolean onSingleTapConfirmed(MotionEvent e) {
return false;
}
public boolean onContextClick(MotionEvent e) {
return false;
}
}
关于java - Android 开发 - GestureDetector.OnGestureListener 或 GestureDetector.SimpleOnGestureListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37709883/
我不明白为什么这段代码不显示任何 Toast。我已经实现了 OnGestureListener 接口(interface)并尝试在用户时显示一些 toast 在 Activity 上滑动。这意味着必须
我正在尝试弄清楚如何添加 OnGestureListener 或其他一些方法来检测屏幕上的触摸拖动到按钮或可以添加到 View 的其他一些小部件。一段时间以来,我一直在试图弄清楚如何做到这一点,但我做
这是布局 - 我在 Activity 中实现了 onGestureLi
根据 android training如果您扩展 GestureDetector.SimpleOnGestureListener,并从 onDown(...) 返回 false 而不是 Gesture
我在安卓系统工作。我有一些功能要通过以下方法完成:- 1. MotionEvent.ACTION_DOWN 2. MotionEvent.ACTION_UP 3. MotionEvent.ACTION
我想检测屏幕 block 中的快速运动。我为此使用以下代码。 public class MyinfoActivity extends Activity implements OnGestureList
我的 onScroll 和 onTouchEvent 被调用,但不是 onDown 方法。事实上,当我在 onDown 中记录 distaceX 时,我会注销其中的几个,第一个总是相对于我上次滚动结束
在过去的几个小时里,我一直在崩溃,用 google 搜索了 hell ,但 StackOverflow 或其他地方的例子都没有对我有用,所以就这样吧…… 我有一个自定义 View ,扩展了 Linea
我正在创建一个需要消耗几乎所有手势的 View 。为此,我创建了一个 ScaleGestureDetector 和一个 GestureDetector。我还创建了一个监听器类,并意识到我可以让它实现我
如何在 Android 中使用 OnGestureListener 检测双指缩放事件? 最佳答案 看看 Android 开发者博客上的这篇文章:http://android-developers.bl
如果 GestureDetector.SimpleOnGestureListener 与 GestureDetector.OnGestureListener 执行相同的操作,但不需要未使用的代码,那么
android.view.GestureDetector.OnGestureListener的onFling()和onScroll()事件有什么区别? link text 最佳答案 onScroll(
我已经在我的 Activity 上实现了接口(interface) GestureDetector.OnGestureListener。它在 Android API 32 上运行良好,但在将 Andr
我正在编写简单的代码来检测所有手势,如滑动、滚动等,并打算实现接口(interface) GestureDetector.OnGestureListener用于覆盖它的方法,但我知道同样可以用 Ges
我正在尝试在我的应用程序的页面之间实现滑动。我目前有 5 个 XML 布局文件,我可以从一个 Activity 访问所有这些文件。底部有五个按钮,代表每个布局,按下时切换到相应的 XML 布局。 我曾
我正在尝试检测用户何时在 Activity 中向左或向右 Swing 。目前我正在使用 OnGestureListener 和方法 onFling()我的问题是我没有找到一种很好的检测方法。 我想要一
我在使用 Android onGestureListener 时遇到一些问题,我有 3 个线性布局在线性布局中水平并排放置,线性布局位置设置为中间布局 onCreate,中间布局还包含一个 ListV
我在 Activity 上创建了一个手势 Listener,效果很好: [Activity (Theme = "@android:style/Theme.Holo.Light", Label = "@
在装有 Android 4.0.4 的三星 Galaxy Note 10.1 上,当两根手指放在屏幕上时,GestureDetector 不会触发 OnGestureListener#onScroll
我是一名优秀的程序员,十分优秀!