安卓上级实验 6-手势识别实验

安卓上级实验 6-手势识别实验

ID:46812404

大小:139.50 KB

页数:5页

时间:2019-11-28

安卓上级实验 6-手势识别实验_第1页
安卓上级实验 6-手势识别实验_第2页
安卓上级实验 6-手势识别实验_第3页
安卓上级实验 6-手势识别实验_第4页
安卓上级实验 6-手势识别实验_第5页
资源描述:

《安卓上级实验 6-手势识别实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、青岛理工大学课程实验报告课程名称嵌入式软件设计与开发班级软件132实验日期2016.05.17姓名孙玉东学号201307217实验成绩实验名称手势识别实验实验目的及要求熟悉Android触摸处理的方法实现简单的手势识别。实验环境Win7,Eclipse实验内容1.实现触摸处理(1)为Activity添加触摸监听处理;(2)在OnTouch中通过MotionEvent判断触摸事件类型;(3)自己设计算法判断:手指在屏幕上进行上下左右滑动时,“上划”“下划”“左划”“右划”等简单的手势动作;2.利用GestureDetector实现简单的手势识别手指在屏幕上进行上下左右

2、滑动时,用Toast显示“上划”“下划”“左划”“右划”。算法描述及实验步骤1.在action_down时获取开始的点2.在action_up时获取结束的点3.如果水平滑动距离大于竖直滑动距离并且差值大于0表示向右滑动4.水平距离大于竖直方向距离,并且差值小于0表示向左滑动5.如果竖直方向距离大于水平方向距离并且差值大于0表示向下滑动6.如果竖直方向距离大于水平方向距离并且差值小于0表示向上滑动。调试过程及实验结果实验方式1往右划5方式2往右划2向下滑动5总结1.onTouchEvent中要返回true。2.event.getX()获取的时相对于父控件的位置,而ev

3、ent.getRowX()获取的时相对于屏幕左上角的值。3.如果在MotionEvent.ACTION_MOVE是打印吐司会调用很多次。因为move方法是不停的在调用的4。GestureDetector中要有这句代码publicbooleanonTouchEvent(MotionEventevent){mDector.onTouchEvent(event);returnsuper.onTouchEvent(event);}附录试验1:@OverridepublicbooleanonTouch(Viewv,MotionEventevent){//TODOAuto-ge

4、neratedmethodstubswitch(event.getAction()){caseMotionEvent.ACTION_DOWN:startx=event.getX();starty=event.getY();break;caseMotionEvent.ACTION_MOVE:floatnowx=event.getX();floatnowy=event.getY();floatdisX=nowx-startx;//x方向移动的距离floatdisY=nowy-starty;//y方向移动的距离//当x方向移动的距离大于y方向移动的距离时if(Math.a

5、bs(disX)>Math.abs(disY)&&disX>0){tv.setText("往右滑");}elseif(Math.abs(disX)>Math.abs(disY)&&disX<0){tv.setText("往左滑");}elseif(Math.abs(disX)0){tv.setText("往下滑");}else{tv.setText("往上滑");}startx=(int)event.getRawX();starty=(int)event.getRawY();break;caseMotionEvent.AC

6、TION_UP:5}returntrue;}});实验二publicclassGestorActivityextendsActivity{privateGestureDetectormDector;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_gestor);mDector=newGestureDetector(this,newSimpleOnGestureList

7、ener(){publicbooleanonFling(MotionEvente1,MotionEvente2,floatvelocityX,floatvelocityY){if(Math.abs(e1.getRawY()-e1.getRawY())>100){Toast.makeText(GestorActivity.this,"不能这样滑哦",Toast.LENGTH_SHORT).show();returntrue;}if(Math.abs(velocityX)<100){Toast.makeText(GestorActivity.this,"滑动的太慢了

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。