本文实例为大家分享了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。程序较简单,运行就可以显示目标效果了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。