Android GestureDetector实现手势滑动效果

  

本文实例为大家分享了Android GestureDetector实现手势滑动的具体代码,供大家参考,具体内容如下

  

目标效果:

  

, Android GestureDetector实现手势滑动效果

  

程序运行,手指在屏幕上从左往右或者从右往左滑动超过一定距离,就会吐司输出滑动方向和距离。

  

1. activity_main.xml页面放置一个ImageView控件。

  

activity_main.xml页面:

        & lt; RelativeLayout xmlns: android=" http://schemas.android.com/apk/res/android "   xmlns:工具=" http://schemas.android.com/tools "   android: layout_width=" match_parent "   android: layout_height=" match_parent "   工具:上下文="。祝辞MainActivity”;      & lt; ImageView   android: id=癅 + id/ivShow”   android: layout_width=" match_parent "   android: layout_height=" match_parent "   android: src=" https://www.yisu.com/zixun/@drawable ic_launcher "/比;      & lt;/RelativeLayout>      mainactivity

2.。java页面实现滑动方法。
  

  

MainActivity。java页面:
  

        包com.example.gesturedetector;      进口android.os.Bundle;   进口android.app.Activity;   进口android.util.Log;   进口android.view.GestureDetector;   进口android.view.GestureDetector.SimpleOnGestureListener;   进口android.view.Menu;   进口android.view.MotionEvent;   进口android.view.View;   进口android.view.View.OnTouchListener;   进口android.widget.ImageView;   进口android.widget.Toast;      公开课MainActivity延伸活动{      私人ImageView ivShow;   私人GestureDetector GestureDetector;      类myGestureListener延伸SimpleOnGestureListener {   @Override/*识别滑动,第一个参数为刚开始事件,第二个参数为结束事件*/公共布尔onFling (MotionEvent MotionEvent e1, e2、velocityX浮动,   浮动velocityY) {   如果(e1.getX () -e2.getX()在50){   Toast.makeText (MainActivity.this,“从右往左滑动”+ (e1.getX () -e2.getX ()), Toast.LENGTH_LONG),告诉();   -e1.getX} else if (e2.getX()()在50){   Toast.makeText (MainActivity.this,“从左往右滑动”+ (e2.getX () -e1.getX ()), Toast.LENGTH_LONG),告诉();   }   超级回报。onFling (e1, e2、velocityX velocityY);   }   }   @Override   保护无效onCreate(包savedInstanceState) {   super.onCreate (savedInstanceState);   setContentView (R.layout.activity_main);      gestureDetector=new gestureDetector (MainActivity。这样,新的myGestureListener ());      ivShow=(ImageView) findViewById (R.id.ivShow);   ivShow.setLongClickable(真正的);//视图必须设置为真的,否则手势识别无法正确工作   ivShow。setOnTouchListener(新OnTouchListener () {/*可以捕获到触摸屏幕发生的事件事件*/@Override   公共布尔ondraw(视图arg0, MotionEvent事件){   gestureDetector.onTouchEvent(事件);//转发   返回错误;   }   });   }   }      

3。程序较简单,运行就可以显示目标效果了。

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Android GestureDetector实现手势滑动效果