Android Scroll分析 (一) 滑动效果是如何产生的
来源:互联网 发布:合肥网络传销公司名单 编辑:程序博客网 时间:2024/05/22 04:56
1.滑动效果是如何产生的
要实现View的滑动,就必须监听用户触摸的事件,并根据事件传入的坐标,动态且不断地改变View的坐标,从而实现View跟随用户触摸的滑动而滑动.
1.1 Android 坐标系
将屏幕最左上角的顶点作为Android坐标系的原点,从这个点向右是X轴正方向,从这个点向下是Y轴正方向.
系统提供了getLocationOnScreen(int location[])方法来获取Android坐标系中点的位置,即该视图左上角在Android坐标系中的坐标.
在触摸事件中使用getRawX() getRawY()方法所获得的坐标同样是Android坐标系中的坐标.
1.2视图坐标系
处理Android坐标系外,Android中还有视图坐标系,它表示子视图在父视图中的位置关系,视图坐标系同样是以原点向右为X轴正方向,向下为Y轴正方向,区别在于它的原点是以父视图左上角为坐标原点.
在触摸事件中,通过getX() getY()所获得的坐标就是视图坐标系中的坐标.
1.3触摸事件–MotionEvent
MotionEvent中封装的一些常用的事件常量,它定义了触摸事件的不同类型:
//单点触摸按下动作public static final int ACTION_DOWN=0;//单点触摸离开动作public static final int ACTION_UP=1;//触摸点移动动作public static final int ACTION_MOVE=2;//触摸动作取消public static final int ACTION_CANCEL=3;//触摸动作超出边界public static final int ACTION_OUTSIDE=4;//多点触摸按下动作public static final int ACTION_POINTER_DOWN=5;//多点离开动作public static final int ACTION_POINTER_UP=6;
在onTouchEvent(MotionEvent event)方法中通过event.getAction()方法来获取触摸事件的类型,并使用switch-case方法来进行筛选:
//在onTouchEvent(MotionEvent event)方法中通过event.getAction()方法来获取触摸事件的类型,并使用switch-case方法来进行筛选:@Overridepublic boolean onTouchEvent(MotionEvent event){ //获取当前输入点的X/Y坐标(视图坐标) int x=(int)event.getX(); int y=(int)event.getY(); switch(event.getAction()){ case MotionEvent.ACTION_DOWN: //处理输入的按下事件 break; case MotionEvent.ACTION_MOVE: //处理输入的移动事件 break; case MotionEvent.ACTION_UP: //处理输入的离开事件 break; } return true;}
系统提供了获取坐标值,相对距离的方法,这些方法可以分为如下两个类型:
//View提供的获取坐标方法getTop()://获取到的是View自身的顶边到其父布局顶边的距离getLeft()://View自身的左边到其父布局左边的距离getRight()://View自身的右边到其父布局左边的距离getBottom()://View自身的底边到其父布局顶边的距离//MotionEvent()提供的方法getX()://获取点击事件距离控件左边的距离,即视图坐标getY()://距离控件顶边的距离,即视图坐标getRawX()://距离整个屏幕左边的距离,即绝对坐标getRawY()://距离整个屏幕顶边的距离,即绝对坐标
1 0
- Android Scroll分析 (一) 滑动效果是如何产生的
- Android Scroll分析(一)——滑动效果是如何产生的
- Scroll(一)滑动效果是如何产生的
- Android Scroll分析(一)滑动效果产生分析
- Android滑动效果是如何产生的
- Android滑动效果是如何产生的
- 滑动效果是如何产生的(Android群英传)
- 滑动效果是如何产生的
- Android Scroll 滑动分析
- android---Scroll实现滑动效果
- Android Scroll分析(一)
- Android Scroll分析--实现滑动的七种方法
- Android Scroll分析(二)实现滑动的多种方法
- Scroll滑动分析-《Android群英传》第五章
- Scroll滑动效果
- Android Scroll分析(一)
- android listview 去除滑动产生的黑影效果
- Android listview 去除滑动产生的黑影效果
- curl常用命令
- 圆圈中最后剩下的数字
- Oracle存储过程中游标For循环使用
- Java注解(Annotation)——2 注解处理器
- leetcode--006. ZigZag Conversion
- Android Scroll分析 (一) 滑动效果是如何产生的
- HDU1016 DFS
- 代码训练营——java读取文件中内容
- 第12周项目1-实现复数类中的运算符重载(1)
- uC/OS-III配置文件——os_cfg.h,os_cfg_app.h,os_type.h
- Oracle 游标 与 存储过程
- JQuery的常用语法
- java jvm-自定义类加载器
- Right-heavy tree——笛卡尔树