Android 区别普通Touch方法和Scroll
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- if(event.getAction()==MotionEvent.ACTION_UP){
- try {
- return handleActionUP(event);
- } catch (InaccurateScrollActionHandleException e) {
- // TODO Auto-generated catch block
- Log.e("DigitBusScreen.onTouchEvent", "Use handleActionUP wrong place");
- return false;
- }
- }
- return gestureDetector.onTouchEvent(event);
- }
- @Override
- public boolean onDown(MotionEvent arg0) {
- // TODO Auto-generated method stub
- touchMode = TOUCH_MODE_DOWN;
- return true;
- }
- @Override
- public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
- float distanceY) {
- // TODO Auto-generated method stub
- switch(touchMode){
- case TOUCH_MODE_DOWN:
- case TOUCH_MODE_SCROLLCHECK:
- if(Math.abs(tempOffsetX+distanceX)<20){
- tempOffsetX += distanceX;
- touchMode = TOUCH_MODE_SCROLLCHECK;
- }else{
- touchMode = TOUCH_MODE_SCROLL;
- tempOffsetX = 0;
- }
- break;
- case TOUCH_MODE_SCROLL:
- if(distanceX!=0 && (offsetX-distanceX<=0)
- && (offsetX-distanceX>=-(offsetX+(actualLengthBetweenStation+Positions.getStationXLength())*numberOfStation))){
- for(Sprite sprite:sprites){
- if(sprite instanceof ScrollSprite)
- ((ScrollSprite)sprite).scrollChangeOffset(-distanceX, 0);
- }
- offsetX += -distanceX;
- }
- break;
- }
- return true;
- }
- /**
- * 处理ACTION_UP的MotionEvent
- * @param event
- * @return
- * @throws InaccurateScrollActionHandleException
- */
- private boolean handleActionUP(MotionEvent event) throws InaccurateScrollActionHandleException{
- if(event.getAction()!=MotionEvent.ACTION_UP)
- throw new InaccurateScrollActionHandleException();
- switch(touchMode){
- case TOUCH_MODE_SCROLLCHECK:
- tempOffsetX = 0;
- case TOUCH_MODE_DOWN:
- super.onTouchEvent(event);
- break;
- }
- touchMode = TOUCH_MODE_REST;
- return true;
- }
Android 区别普通Touch方法和Scroll的更多相关文章
- Junit 注解 类加载器 .动态代理 jdbc 连接池 DButils 事务 Arraylist Linklist hashset 异常 哈希表的数据结构,存储过程 Map Object String Stringbufere File类 文件过滤器_原理分析 flush方法和close方法 序列号冲突问题
Junit 注解 3).其它注意事项: 1).@Test运行的方法,不能有形参: 2).@Test运行的方法,不能有返回值: 3).@Test运行的方法,不能是静态方法: 4).在一个类中,可以同时定 ...
- Android HTTP实例 使用GET方法和POST方法发送请求
Android HTTP实例 使用GET方法和POST方法发送请求 Web程序:使用GET和POST方法发送请求 首先利用MyEclispe+Tomcat写好一个Web程序,实现的功能就是提交用户信息 ...
- ThinkPHP的D方法和M方法的区别
M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 ...
- wait方法和sleep方法的区别
一.概念.原理.区别 Java中的多线程是一种抢占式的机制而不是分时机制.线程主要有以下几种状态:可运行,运行,阻塞,死亡.抢占式机制指的是有多个线程处于可运行状态,但是只有一个线程在运行. ...
- M方法和D方法的区别
M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 ...
- ThinkPHP 中M方法和D方法的具体区别(转)
M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 ...
- synchronized 修饰在 static方法和非static方法的区别
Java中synchronized用在静态方法和非静态方法上面的区别 在Java中,synchronized是用来表示同步的,我们可以synchronized来修饰一个方法.也可以synchroniz ...
- JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别
JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别 关于获取类的字段有两种方式:getFields()和getDeclaredFields().我们先来 ...
- Exception 的 toString() 方法和 getMessage() 方法的区别
Exception 的 toString() 方法和 getMessage() 方法的区别: 在开发的过程中打印错误日志时尽量使用e.toString() 方法, 因为当错误为空指针时 e.getMe ...
随机推荐
- 跟上节奏 大数据时代十大必备IT技能(转)
新的想法诞生新的技术,从而造出许多新词,云计算.大数据.BYOD.社交媒体……在互联网时代,各种新词层出不穷,让人应接不暇.这些新的技术,这些新兴应用和对应的IT发展趋势,使得IT人必须了解甚至掌握最 ...
- Java——关于String(字符串)
String s = "abc";//创建一个字符串对象在常量池中. String s2 = new String("abc");//创建两个对象 一 ...
- sqlite3编程使用简介
sqlite3使用范围 SQLite不同于其他大部分的SQL数据库引擎,因为它的首要设计目标就是简单化: 1.易于管理 2.易于使用 3.易于嵌入其他大型程序 4.易于维护和配置 许多人喜欢SQLi ...
- ogistic regression (逻辑回归) 概述
:http://hi.baidu.com/hehehehello/blog/item/0b59cd803bf15ece9023d96e.html#send http://en.wikipedia.or ...
- 常用MIME类型
后缀名 MIME名称*.3gpp audio/3gpp, video/3gpp*.ac3 audio/ac3*.asf allpication/vnd.ms-asf ...
- HTML相对路径 当前目录、上级目录、根目录、下级目录表示法
文件引用时经常需要用到相对目录.如(js,css,图片等) "./" --------- 源代码所在的当前目录(可省略) "../" ----- ...
- Linux- Bond
---------------check NIC----------------- ①mii-tool 命令 ②ethtool 命令 -i 参数,显示网卡的驱动信息, -S 参数,底层工作状态信息③d ...
- android中两种方式打开网页
一.你要打开一个网页你可以自己写一个webview,在自己的程序中就可以打开. wv = (WebView) findViewById(R.id.webView1); wv.getSettings() ...
- android dimens 读取 px&dp问题
1.dimens.xml文件: <resources> <dimen name="area_margin_top">100dp</dimen& ...
- android虚拟机(ROOT)权限
自己找的一个比较好用的pc端安卓模拟器,蓝手指总所周知吧,这个是较高版本但不是最新的一个版本,关键是自带root功能,对于破解安卓存档类游戏还是有用的.安卓版本4.4.2 BlueStacks 0.9 ...