android学习之划屏方向判定
来源:互联网 发布:james blunt 知乎 声音 编辑:程序博客网 时间:2024/04/30 02:48
划屏就是屏幕的点击操作,要用到setOnTouchListener()来监听。其思路为获取按下的坐标和抬起的坐标之差,当X的坐标绝对值大于Y的坐标绝对值时,判定划屏为左右划屏,反之为上下划屏。为了判定是否为划屏,坐标差要有一定的距离,这里设置距离为“5”。当X的差大于5时判定为右划,小于-5时判定为左划,这个好理解。当我在判定Y时,其结果正好相反。原来我用上学时学习的象限来判定,象限中的Y轴越往下数值越小,而在手机开发中Y轴越往下数值越大。下面给个源代码:
public class MainActivity extends ActionBarActivity {LinearLayout ll;TextView tv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.swipe_test);ll = (LinearLayout)findViewById(R.id.linear);tv = (TextView)findViewById(R.id.text);ll.setOnTouchListener(new View.OnTouchListener() {private float startX,startY,offsetX,offsetY;@Overridepublic boolean onTouch(View v, MotionEvent event) {switch (event.getAction()) {case MotionEvent.ACTION_DOWN:startX = event.getX();startY = event.getY();break;case MotionEvent.ACTION_UP:offsetX = event.getX() - startX;offsetY = event.getY() - startY;if(Math.abs(offsetX) > Math.abs(offsetY)){if(offsetX < -5){tv.setText("左");}else if(offsetX > 5){tv.setText("右");}}else{if(offsetY < -5){tv.setText("上");}else if(offsetY > 5){tv.setText("下");}}break;}return true;}});}}
0 0
- android学习之划屏方向判定
- android判定滑动方向
- android学习笔记之划屏的viewpager配合fragment使用
- Android方向传感器学习之指南针示例
- Android下获得屏幕大小及方向判定
- UIScrollView滚动方向判定
- Android学习方向
- Android学习之路---屏幕方向与显示
- 判断手指滑动方向 -- Android 学习之路
- android学习笔记——左右划屏scrollerView遇到的问题
- android系统的自动划屏测试
- 如何在野外判定方向
- cross product的方向判定
- 学习linux方向 之说
- android 未来的学习方向
- 大数据处理学习之 垃圾邮件判定1
- Android 传感器之方向传感器
- Android之网络连接状态的判定
- UVA - 465 Overflow atof的使用方法
- C 语言程序设计实践 8.3 合并序列
- Win8+VS2012 配置OpenGL SuperBible5 环境
- Java之后的学习路线
- 抢票神器使用说明
- android学习之划屏方向判定
- 云计算之你必须知道的几个会议和杂志
- Android图片压缩技巧
- [winform]操作文件与xml常用方法
- bzoj 1878 [SDOI2009]HH的项链
- C 语言程序设计实践 8.4 W.C之新店开张
- TI-Davinci开发系列之八x-loader工作流程分析
- LINK - JS: 使用event.preventDefault 阻止表单控件默认提交的行为
- C++基础知识---构造函数 & 析构函数 & 虚拟析构函数