`
104zz
  • 浏览: 1507815 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

Android 屏幕滑动事件

 
阅读更多

 

 Android里有两个类 

  

  android.view.GestureDetector 

  android.view.GestureDetector.SimpleOnGestureListener 

  (另外android.widget.Gallery好像是更牛x的OnGestureListener )   

  1)新建一个类继承SimpleOnGestureListener,HahaGestureDetectorListener   可以实现以下event事件。   

  boolean onDoubleTap(MotionEvent e) 

  解释:双击的第二下Touch down时触发   

  boolean onDoubleTapEvent(MotionEvent e) 

  解释:双击的第二下Touch down和up都会触发,可用e.getAction()区分。   

  boolean onDown(MotionEvent e)   解释:Touch down时触发 

  

  boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)   解释:Touch了滑动一点距离后,up时触发。   

  void onLongPress(MotionEvent e) 

  解释:Touch了不移动一直Touch down时触发 

  

  boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)   解释:Touch了滑动时触发。   

  void onShowPress(MotionEvent e)   解释:Touch了还没有滑动时触发   

  (与onDown,onLongPress比较 

  onDown只要Touch down一定立刻触发。 

  而Touchdown后过一会没有滑动先触发onShowPress再是onLongPress。 

  所以Touchdown后一直不滑动,onDown->onShowPress->onLongPress这个顺序触发。   )   

  boolean onSingleTapConfirmed(MotionEvent e) 

  boolean onSingleTapUp(MotionEvent e) 

  解释:上面这两个函数都是在touch down后又没有滑动(onScroll),又没有长按(onLongPress),然后Touchup时触发。   

  点击一下非常快的(不滑动)Touchup: 

  onDown->onSingleTapUp->onSingleTapConfirmed

点击一下稍微慢点的(不滑动)Touchup: 

  onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed   

  2)在view的新建一个GestureDetector的对象。 

  

  构造函数里 gestureDetector = new GestureDetector(new HahaGestureDetectorListener());   

  然后在View的onTouchEvent里以下这样用,就可以在刚才1)弄的事件里写自己的代码了。   

  @Override 

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

  

  但是,郁闷的是SimpleOnGestureListener没有提供onUp(), 还得在View的   onTouchEvent的 

  case MotionEvent.ACTION_UP:   里来写对应的代码。

 

分享到:
评论

相关推荐

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

    在Android开发中,屏幕滑动事件的监听是十分常见的需求,尤其在打造用户交互界面时。本示例“屏幕的上下左右滑动监听事件详解demo(AS)”着重讲解了如何利用手势识别来监听和处理屏幕的滑动操作。本文将深入探讨...

    android 滑动触摸屏幕事件

    本文将深入探讨一个具体的例子,即如何通过监听触摸屏上的滑动事件来截取部分图片并显示出来。这个例子基于提供的代码片段,它实现了一个简单的应用,当用户在屏幕上进行滑动操作时,会截取滑动路径覆盖的图像区域,...

    Android-滑动屏幕调整屏幕亮度.zip

    Android-滑动屏幕调整屏幕亮度.zip Android-滑动屏幕调整屏幕亮度.zip Android-滑动屏幕调整屏幕亮度.zip Android-滑动屏幕调整屏幕亮度.zip Android-滑动屏幕调整屏幕亮度.zip

    一个android桌面滑动切换屏幕的控件(二)

    ViewPager的`addOnPageChangeListener()`方法可以添加一个监听器,监听用户的滑动事件。 博客中提到的自定义控件可能是在ViewPager的基础上进行了扩展和优化,以满足特定需求,例如添加动画效果、自定义指示器或...

    Android获取在屏幕滑动速度的实例

    总结来说,通过Android的VelocityTracker类,我们可以轻松地获取屏幕滑动速度,从而实现更丰富的交互体验。在实际项目中,你可以根据具体需求调整速度阈值,以及结合其他手势检测技术,打造个性化的滑动操作。

    android屏幕滑动检测例程

    在Android开发中,屏幕滑动检测是实现用户交互的关键部分,尤其对于移动应用而言,手势操作使得用户体验更加直观和便捷。本示例着重讲解如何在Android应用中实现滑动检测,这对于初学者来说是一个很好的起点。 `...

    Android屏幕滑动源码

    总的来说,"Android屏幕滑动源码"涉及到的知识点包括: 1. 自定义布局:`ScrollLayout`的设计与实现,包括触摸事件处理和滑动逻辑。 2. Activity管理:通过`Intent`和`Activity`栈进行Activity间的切换。 3. 动画...

    android手机屏幕滑动

    首先,Android屏幕滑动主要依赖于ViewGroup的子类,如LinearLayout、RelativeLayout或GridLayout,以及触摸事件的处理。当用户在屏幕上滑动手指时,系统会捕捉这些滑动事件并传递给相应的视图组件。关键在于理解...

    Android项目滑动屏幕调整屏幕亮度.rar

    要监听屏幕滑动事件,你需要重写Activity或Fragment中的`onTouchEvent`方法。当用户在屏幕上滑动时,该方法会被调用,你可以从中获取滑动的起始和结束位置,以及滑动的总距离。 ```java @Override public ...

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

    同时,也可以研究如何通过接口或事件监听机制将滑动事件传递给Activity,以便在适当的时机执行退出操作。 总的来说,实现Android滑动退出Activity的功能需要对Android手势识别、视图层级管理和Activity生命周期有...

    Android 屏幕滑动和水平视图编写样例.rar

    这个“Android屏幕滑动和水平视图编写样例”提供了一个基础教程,帮助开发者理解如何实现这些功能。 首先,让我们详细探讨屏幕滑动。在Android中,屏幕滑动通常通过触摸手势来实现,这涉及到`GestureDetector`和`...

    Android Webview滑动监听

    这样,我们就实现了对Android Webview滑动事件的监听,以及图片的放大缩小功能。通过这些技术,开发者可以更好地控制Webview的行为,提升用户体验。在实际开发中,还可以结合其他API和技巧,如设置Webview缓存、禁用...

    android 纵向滑动页面(上下滑动效果)

    在Android开发中,创建一个能够实现纵向滑动,即上下滑动效果的页面是一项常见的任务。这样的效果常常用于实现如滚动列表、轮播图或阅读器等应用功能。本教程将详细讲解如何在Android中实现这样的功能,并结合提供的...

    Android自定义滑动接听电话控件组

    当用户在屏幕上滑动时,我们需要处理滑动事件,计算滑动距离和方向,判断是否达到接听或挂断的阈值。 3. **触摸事件处理**: 在自定义控件的`onTouchEvent()`方法中,接收并处理触摸事件。根据ACTION_DOWN、ACTION...

    Android 界面滑动效果

    总之,实现“Android 界面滑动效果”涉及了手势识别、滚动视图、滑动布局、事件处理和动画等多个方面。通过深入理解和熟练运用这些技术,开发者可以创造出丰富多样的滑动交互,提升Android应用的用户体验。

    Android横向滑动日历

    当用户在屏幕上滑动时,会触发相应的触摸事件,然后`ViewFlipper`通过监听这些事件来决定何时切换到下一个或上一个`GridView`。同时,动画效果的添加可以使滑动更加自然,这通常通过设置自定义的动画类来实现,比如`...

    Android滑动吸附悬停

    为ViewPager实现滑动吸附,我们需要监听其滑动事件,然后根据滑动方向和当前位置,调整页面的显示。这可以通过自定义ViewPager的PageTransformer来实现,或者使用第三方库,如SmartTabLayout等。 4. **TabLayout和...

    Android双向滑动菜单带按钮版

    `BidirSlidingLayout`很可能是我们实现这个功能的核心布局文件,它可能包含对滑动事件的监听和处理,以及动画效果的实现。 1. **基础结构**:一个基本的双向滑动菜单通常由主内容视图和侧边栏视图组成。主内容视图...

    Android左右滑动菜单

    5. **监听滑动事件**:通过设置监听器来处理用户的滑动操作,例如打开、关闭菜单的动作。 6. **菜单交互**:实现菜单项的点击事件,当用户选择菜单项时触发相应的行为。 在实际开发中,为了提高用户体验,还可以...

Global site tag (gtag.js) - Google Analytics