`
Mr.Joe
  • 浏览: 136821 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android GestureDetector滑动监听事件

阅读更多
项目中需要做滑动监听事件,具体如下:

做的过程中遇到点小麻烦,写了监听后无效,具体原因及解决方法请看后面

final int RIGHT = 0;  
    final int LEFT = 1;  
    private GestureDetector gestureDetector; 
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_detail_news_img);
		gestureDetector = new GestureDetector(NewsDetailImgActivity.this,onGestureListener);  
	private GestureDetector.OnGestureListener onGestureListener = new GestureDetector.SimpleOnGestureListener() {
		@Override
		public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
				float velocityY) {
			Log.v(TAG, "onFling...");
			float x = e2.getX() - e1.getX();
			float y = e2.getY() - e1.getY();

			if (x > 300) {
				doResult(RIGHT);
			} else if (x < -300) {
				doResult(LEFT);
			}
			return true;
		}
	};

	public boolean onTouchEvent(MotionEvent event) {
		return gestureDetector.onTouchEvent(event);
	}

	public void doResult(int action) {

		switch (action) {
		case RIGHT:
			Log.v(TAG, "go right");
			System.out.println("go right");
			break;

		case LEFT:
			Log.v(TAG, "go LEFT");
			System.out.println("go LEFT");
			break;

		}
	}


	}


今天做的时候很莫名其妙的监听滑动事件不管用了,后来找到原因是因为布局文件中用了ScrollView,与GestureDetector冲突,解决方法是重写dispatchTouchEvent方法即可:

@Override
	public boolean dispatchTouchEvent(MotionEvent ev) {
		// TODOAuto-generatedmethodstub
		gestureDetector.onTouchEvent(ev); // 让GestureDetector响应触碰事件
		super.dispatchTouchEvent(ev); // 让Activity响应触碰事件
		return false;
	}


在找原因的时候发现布局文件中添加android:longClickable="true"对监听滑动事件也有影响,具体没仔细研究
0
0
分享到:
评论

相关推荐

    Android Webview滑动监听

    本篇将详细讲解如何在Android Webview中实现滑动监听以及图片的放大缩小功能。 首先,我们要了解`WebView`的基本用法。在Android Studio中,创建一个新的布局XML文件,添加`WebView`组件: ```xml android:id="@...

    屏幕的上下左右滑动监听事件详解demo(AS)

    总结来说,“屏幕的上下左右滑动监听事件详解demo(AS)”是一个实用的教程,它演示了如何在Android应用中利用GestureDetector监听和处理屏幕滑动事件。通过这个示例,开发者可以学习到手势识别的基本原理和实践技巧...

    android GestureDetector依赖onTouchEvent判断左右滑动

    标题中的“android GestureDetector依赖onTouchEvent判断左右滑动”指的是通过`GestureDetector`监听`MotionEvent`的`ACTION_DOWN`, `ACTION_MOVE`和`ACTION_UP`事件,来实现手指在屏幕上左右滑动的识别。...

    2011.10.11——— android GestureDetector 测试OnGestureListener

    这篇2011年的博客文章“2011.10.11——— android GestureDetector 测试OnGestureListener”很可能详细探讨了如何使用`GestureDetector`来监听和处理用户的手势。 `GestureDetector`的核心在于它的监听器`...

    Android在Fragment中实现监听触摸事件

    在Fragment中实现监听触摸事件的好处是可以使得Fragment具有更多的交互性,例如,我们可以在Fragment中监听触摸事件来实现滑动、点击、长按等操作。同时,使用接口来实现触摸事件的分发也可以将代码变得更加简洁和...

    Android-Android实现了可以滑动左侧边缘退出Activity的功能

    在Android中,我们可以使用`GestureDetector`类来处理用户的触摸事件,通过重写其回调方法,如`onDown()`, `onFling()`, `onScroll()`等,来检测和响应用户的滑动手势。为了实现滑动退出功能,我们通常关注`onFling...

    Android自定义viewgroup可滚动布局 GestureDetector手势监听(5)

    Android系统提供了GestureDetector类,让开发者可以通过简单的接口实现复杂的手势监听功能,减少直接在OnTouchEvent方法中编写大量触摸事件处理代码的复杂性。 ### Android自定义ViewGroup可滚动布局知识点 #### 1...

    Android GestureDetector实现手势滑动效果

    `GestureDetector`是Android SDK提供的一种工具类,用于检测和处理基本的手势,如轻触、双击、滑动等。本文将深入探讨如何使用`GestureDetector`来实现屏幕上的滑动手势。 首先,我们需要在布局文件中添加一个视图...

    屏幕滑动监听

    在Android中,滑动监听通常涉及到`GestureDetector`类,它是Android提供的一个手势检测工具,能够识别出用户的滑动、点击、长按等基本手势。下面将详细讲解如何使用`GestureDetector`来监听屏幕滑动。 1. **初始化...

    Android 滑动手势监听例子源码.zip

    这个"Android 滑动手势监听例子源码.zip"文件提供了一个简单的实例,帮助开发者理解和实现滑动手势监听功能。下面我们将深入探讨Android中滑动手势的原理、实现方式以及如何在实际应用中运用这些知识。 首先,...

    Android GestureDetector手势滑动使用实例讲解

    `GestureDetector`是Android SDK提供的一种用于处理基本手势的工具类,它可以帮助开发者轻松地识别和处理用户的触摸事件,如单击、双击、滑动和长按等。本篇文章将深入探讨如何使用`GestureDetector`实现手势滑动,...

    Android编程使用GestureDetector实现简单手势监听与处理的方法

    1. **添加触摸监听事件**: 在需要监听手势的View上设置`OnTouchListener`。例如,在`MainActivity`中,我们将`ImageView`作为监听对象,通过`setOnTouchListener`为其设置监听器。 2. **利用GestureDetector转发...

    利用GestureDetector实现页面滑动Demo

    `GestureDetector`是Android SDK提供的一种用于检测常见触摸手势的工具类,比如单击、长按、滑动等。本教程将详细讲解如何利用`GestureDetector`来实现一个页面滑动的Demo。 首先,我们需要了解`GestureDetector`的...

    Android滑动冲突解决的例子

    - 为CoverFlow视图设置一个自定义的滑动监听器,以便在检测到用户开始滑动时,阻止其他视图接收滑动事件。 - 在CoverFlow的内部,使用Scroller进行平滑滚动,以实现流畅的过渡效果。 - 可能还包含了对边缘滑动事件的...

    android 左右滑动出现箭头提示

    接下来,我们需要在Java代码中初始化ViewFlipper和箭头图标,并设置滑动监听。这里可以使用GestureDetector来识别滑动手势: ```java public class MainActivity extends AppCompatActivity { private ...

    Android 滑动手势监听例子

    通过这个项目,开发者不仅可以学习到如何使用`GestureDetector`监听滑动事件,还可以了解到Android手势识别的基本原理和实践,从而提升应用的用户体验。在实际开发中,可以将这些知识灵活运用到各种场景,如列表滑动...

    android左右滑动翻页查看图片

    Android提供了`GestureDetector`类,它是处理触摸事件和手势的基础类。它封装了基本的手势,如单击、长按、滑动等。`OnGestureListener`是`GestureDetector`的一个接口,我们可以通过实现这个接口的几个方法来监听和...

    Android 界面滑动效果

    开发者可以通过重写`GestureDetector.SimpleOnGestureListener`中的方法来监听这些手势事件。例如,`onDown()`用于检测手指触摸屏幕的初始动作,`onScroll()`则用于处理手指滑动过程,而`onFling()`则用于识别快速...

    Android ViewPager与仿Gallery的HorizontalScrollView互相滑动监听

    综上所述,实现`Android ViewPager`与仿`Gallery`的`HorizontalScrollView`互相滑动监听涉及多个层次的技术,包括自定义适配器、滑动事件监听、手势识别等。这需要开发者具备扎实的Android基础知识,对组件工作原理...

Global site tag (gtag.js) - Google Analytics