您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > Android侦测滑动手势方法
Android滑动手势侦测方法介绍时间:2010-12-0109:05来源:51cto.com收藏复制分享共有评论(0)条在Android手机操作系统中支持各种滑动手势的操作。我们在这里为大家介绍的方法主要就是针对这些手势如何能在Android平台中侦测出来。下面就让我们大家一起来看看Android滑动手势具体的识别方法吧。AndroidActivity跳转相关操作技巧分享Android创建sdcard详细图解Android系统信息查看方法详解Android数据库相关代码解读Android拍照实现方式概述AndroidSDK提供了一个listener类来侦测各种不同的手势:SimpleOnGestureListener.你只需要实现自己所关心的手势就可以了.Swipe在android里面是叫Fling首先创建自己的一个手势detector类:classMyGestureDetectorextendsSimpleOnGestureListener{@OverridepublicbooleanonFling(MotionEvente1,MotionEvente2,floatvelocityX,floatvelocityY){}一个Android滑动手势有几个特征,比如是在x或者y轴上近乎直线的划动,中途路径的偏差不能太大,而且划动需要一定的速度,所以我们定义几个定量:privatestaticfinalintSWIPE_MIN_DISTANCE=120;privatestaticfinalintSWIPE_MAX_OFF_PATH=250;privatestaticfinalintSWIPE_THRESHOLD_VELOCITY=200;然后在onFling方法中,判断是不是一个合理的swipe动作:if(e1.getX()-e2.getX()SWIPE_MIN_DISTANCE&&Math.abs(velocityX)SWIPE_THRESHOLD_VELOCITY){viewFlipper.setInAnimation(slideLeftIn);viewFlipper.setOutAnimation(slideLeftOut);viewFlipper.showNext();}elseif(e2.getX()-e1.getX()SWIPE_MIN_DISTANCE&&Math.abs(velocityX)SWIPE_THRESHOLD_VELOCITY){viewFlipper.setInAnimation(slideRightIn);viewFlipper.setOutAnimation(slideRightOut);viewFlipper.showPrevious();}if(e1.getX()-e2.getX()SWIPE_MIN_DISTANCE&&Math.abs(velocityX)SWIPE_THRESHOLD_VELOCITY){viewFlipper.setInAnimation(slideLeftIn);viewFlipper.setOutAnimation(slideLeftOut);viewFlipper.showNext();}elseif(e2.getX()-e1.getX()SWIPE_MIN_DISTANCE&&Math.abs(velocityX)SWIPE_THRESHOLD_VELOCITY){viewFlipper.setInAnimation(slideRightIn);viewFlipper.setOutAnimation(slideRightOut);viewFlipper.showPrevious();}这里的viewFlipper是含有多个view的一个container,可以很方便的调用prev/nextview,加上animation动画,可以达到一些不错的效果:viewFlipper=(ViewFlipper)findViewById(R.id.flipper);slideLeftIn=AnimationUtils.loadAnimation(this,R.anim.slide_left_in);slideLeftOut=AnimationUtils.loadAnimation(this,R.anim.slide_left_out);slideRightIn=AnimationUtils.loadAnimation(this,R.anim.slide_right_in);slideRightOut=AnimationUtils.loadAnimation(this,R.anim.slide_right_out);自定义的animation可以查看具体的XML,比如从左边进来的一个动画:setxmlns:android=:fromXDelta=100%pandroid:toXDelta=0android:duration=800//set当然最后不要忘记在你的Activity中overrideonTouch方法来获取手势action:@OverridepublicbooleanonTouchEvent(MotionEventevent){if(gestureDetector.onTouchEvent(event))returntrue;elsereturnfalse;}Android滑动手势的相关识别方法就为大家介绍到这里。Android滑动手势侦测方法介绍时间:2010-12-0109:05来源:51cto.com收藏复制分享共有评论(0)条在Android手机操作系统中支持各种滑动手势的操作。我们在这里为大家介绍的方法主要就是针对这些手势如何能在Android平台中侦测出来。下面就让我们大家一起来看看Android滑动手势具体的识别方法吧。AndroidActivity跳转相关操作技巧分享Android创建sdcard详细图解Android系统信息查看方法详解Android数据库相关代码解读Android拍照实现方式概述AndroidSDK提供了一个listener类来侦测各种不同的手势:SimpleOnGestureListener.你只需要实现自己所关心的手势就可以了.Swipe在android里面是叫Fling首先创建自己的一个手势detector类:classMyGestureDetectorextendsSimpleOnGestureListener{@OverridepublicbooleanonFling(MotionEvente1,MotionEvente2,floatvelocityX,floatvelocityY){}一个Android滑动手势有几个特征,比如是在x或者y轴上近乎直线的划动,中途路径的偏差不能太大,而且划动需要一定的速度,所以我们定义几个定量:privatestaticfinalintSWIPE_MIN_DISTANCE=120;privatestaticfinalintSWIPE_MAX_OFF_PATH=250;privatestaticfinalintSWIPE_THRESHOLD_VELOCITY=200;然后在onFling方法中,判断是不是一个合理的swipe动作:if(e1.getX()-e2.getX()SWIPE_MIN_DISTANCE&&Math.abs(velocityX)SWIPE_THRESHOLD_VELOCITY){viewFlipper.setInAnimation(slideLeftIn);viewFlipper.setOutAnimation(slideLeftOut);viewFlipper.showNext();}elseif(e2.getX()-e1.getX()SWIPE_MIN_DISTANCE&&Math.abs(velocityX)SWIPE_THRESHOLD_VELOCITY){viewFlipper.setInAnimation(slideRightIn);viewFlipper.setOutAnimation(slideRightOut);viewFlipper.showPrevious();}if(e1.getX()-e2.getX()SWIPE_MIN_DISTANCE&&Math.abs(velocityX)SWIPE_THRESHOLD_VELOCITY){viewFlipper.setInAnimation(slideLeftIn);viewFlipper.setOutAnimation(slideLeftOut);viewFlipper.showNext();}elseif(e2.getX()-e1.getX()SWIPE_MIN_DISTANCE&&Math.abs(velocityX)SWIPE_THRESHOLD_VELOCITY){viewFlipper.setInAnimation(slideRightIn);viewFlipper.setOutAnimation(slideRightOut);viewFlipper.showPrevious();}这里的viewFlipper是含有多个view的一个container,可以很方便的调用prev/nextview,加上animation动画,可以达到一些不错的效果:viewFlipper=(ViewFlipper)findViewById(R.id.flipper);slideLeftIn=AnimationUtils.loadAnimation(this,R.anim.slide_left_in);slideLeftOut=AnimationUtils.loadAnimation(this,R.anim.slide_left_out);slideRightIn=AnimationUtils.loadAnimation(this,R.anim.slide_right_in);slideRightOut=AnimationUtils.loadAnimation(this,R.anim.slide_right_out);自定义的animation可以查看具体的XML,比如从左边进来的一个动画:setxmlns:android=:fromXDelta=100%pandroid:toXDelta=0android:duration=800//set当然最后不要忘记在你的Activity中overrideonTouch方法来获取手势action:@OverridepublicbooleanonTouchEvent(MotionEventevent){if(gestureDetector.onTouchEvent(event))returntrue;elsereturnfalse;}Android滑动手势的相关识别方法就为大家介绍到这里。android滑动分页实现原理通过手指的滑动,判断数据大小然后动态改变数据底部的加载是一个viewimportandroid.app.ListActivity;importandroid.os.Bundle;importandroid.os.Handler;importandroid.view.Gravity;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.AbsListView;importandroid.widget.BaseAdapter;importandroid.widget.
本文标题:Android侦测滑动手势方法
链接地址:https://www.777doc.com/doc-3397234 .html