我有一个GestureDetector,我给它提供了MotionEvents,我严重依赖于它的返回值。
现在,当滚动量太低时,源代码中有以下行(android.view.GestureDetector第578行):
case MotionEvent.ACTION_MOVE:
// several checks that all not apply
else if ((Math.abs(scrollX) >= 1) || (Math.abs(scrollY) >= 1)) {
}
但是,如果滚动限制太低,最后的else if将不适用。想象一下,手指滚动非常慢,停下来一秒钟,然后继续
我在我的简单安卓应用程序中创建了一个简单的[View.OnTouchListener][1]实现。
我现在的目标是让它探测到向下滑动。例如,如果我向下滑动,我希望它检测到我已经这样做了。
它成功地做到了这一点,然而,每次向下滑动,它也会被称为一堆其他的时间。我可以看到这一点,因为onTouch方法开关语句中的默认行为:
我是MySwipeListener
public class MySwipeListener implements View.OnTouchListener{
private Activity activity;
public MySwipeListener(
我想在触摸时持续振动,直到我从视图中抬起手指。
public class DrawFunny extends Activity implements OnTouchListener {
private float x;
private float y;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.l
我已经将OnTouchListener设置为图像视图。我想做两个不同的行动,当用户按下图像,也当按下图像。但我总是得到( ACTION_DOWN )这样的按下事件,但如果我使用按钮而不是ImageView,那么我可以同时使用ACTION_DOWN和ACTION_UP。但我必须使用ImageView,而不是按钮。如何在ImageView中实现ACTION_UP事件
prevImage.setOnTouchListener(this); // prevImage is an image View
@Override
public boolean onTouch(View view, Mo
我为我的LinearLayout of ListViews提供了一个ListView,我正在尝试使用ACTION_DOWN和ACTION_UP数据来检测用户何时已经滑动到下一个ListView。然而,MotionEvent永远不等于ACTION_DOWN,尽管ACTION_UP工作得很好。在大量搜索之后,我能找到的唯一解决方案是在调用事件时返回true,但我已经在这样做了。这是我的onTouchListener代码
View.OnTouchListener mTouchListener = new View.OnTouchListener() {
@Override