- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不明白为什么这段代码不显示任何 Toast。我已经实现了 OnGestureListener 接口(interface)并尝试在用户时显示一些 toast 在 Activity 上滑动。这意味着必须调用 onFling 方法,但我没有收到任何 toast 。请帮助我理解问题。
import android.os.Bundle;
import android.app.Activity;
import android.view.GestureDetector.OnGestureListener;
import android.view.Menu;
import android.view.MotionEvent;
import android.widget.Toast;
public class MainActivity extends Activity implements OnGestureListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onDown(MotionEvent e) {
// TODO Auto-generated method stub
Toast.makeText(this,"onDown",Toast.LENGTH_LONG).show();
return false;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// TODO Auto-generated method stub
Toast.makeText(this,"Swipe to Explore the Happiness Path",Toast.LENGTH_LONG).show();
return false;
}
@Override
public void onLongPress(MotionEvent e) {
// TODO Auto-generated method stub
Toast.makeText(this,"onLongPress",Toast.LENGTH_LONG).show();
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
// TODO Auto-generated method stub
return false;
}
@Override
public void onShowPress(MotionEvent e) {
// TODO Auto-generated method stub
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
// TODO Auto-generated method stub`enter code here`
return false;
}
}
最佳答案
A GestureDetector is an Android class that can take motion events, do some mathematical magic to determine what they are, and then delegate calls to a GestureListener object as specific gesture or other motion callbacks. The GestureListener object, a class we implement, receives these calls for specific gestures that the GestureDetector recognizes and allows us to react to them as we see fit (in this case, to move a graphic around within our PlayAreaView). Although the GestureDetector handles the detection of certain motions, it doesn’t do anything specific with them nor does it handle all types of gestures.
尝试如下添加 GestureDetector 并实现 onTouch
事件来检测屏幕触摸:
public class MainActivity extends Activity implements OnGestureListener {
private GestureDetector gDetector;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gDetector = new GestureDetector(this);
}
@Override
public boolean onTouchEvent(MotionEvent me) {
return gDetector.onTouchEvent(me);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onDown(MotionEvent e) {
// TODO Auto-generated method stub
Toast.makeText(this,"onDown",Toast.LENGTH_LONG).show();
return false;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// TODO Auto-generated method stub
Toast.makeText(this,"Swipe to Explore the Happiness Path",Toast.LENGTH_LONG).show();
return false;
}
@Override
public void onLongPress(MotionEvent e) {
// TODO Auto-generated method stub
Toast.makeText(this,"onLongPress",Toast.LENGTH_LONG).show();
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
// TODO Auto-generated method stub
return false;
}
@Override
public void onShowPress(MotionEvent e) {
// TODO Auto-generated method stub
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
// TODO Auto-generated method stub`enter code here`
return false;
}
}
了解更多GestureDetector
关于android - 了解用于滑动的 OnGestureListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19334122/
我不明白为什么这段代码不显示任何 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
我是一名优秀的程序员,十分优秀!