Android Scroll分析
2016-05-13 15:40
288 查看
《Android 群英传》读书笔记
系统提供了getLocationOnScreen(intlocation[])这样的方法来获取android坐标系中点的位置,即该视图左上角在android坐标系中的坐标。另外,在触控事件中使用getRawX(),getRawY()方法所获得的坐标同样是android坐标系中的坐标。
通常情况下,我们会在onTouchEvent(MotionEvent event)方法中通过event.getAction()方法来获取触控事件的类型,并使用switch-case方法来进行筛选。
在不涉及多点操作的情况下,通常可以使用以上方式来完成触控事件的监听。
1.View提供的获取坐标方法
getTop():获取到的是View自身的顶边到其父布局顶边的距离
getLeft():获得到的是View自身的左边到其父布局左边的距离
getRight():获得到的是View自身的右边到其父布局左边的距离
getBottom():获得到的是View自身的底部到其父布局左边的距离
2.MotionEvent提供的方法
getX():获取点击事件距离控件左边的距离,即试图坐标
getY():获取点击事件距离控件顶边的距离,即试图坐标
getRawX():获取点击事件距离控件左边的距离,即绝对坐标
getRawY():获取点击事件距离控件顶边的距离,即绝对坐标
滑动效果是如何产生的
实现view的滑动就必须监听用户触摸的事件,并根据事件传入的坐标,动态且不断的改变view的坐标,从而实现view跟随用户触摸的滑动而滑动。Android坐标系
在物理学中,要描述一个物体的运动,就必须选定一个参考系。所谓滑动,正是相对于参考系的运动。在android中,将屏幕在左上角的顶点作为android坐标系的原点,从这个点往右是x轴的正方向,从这个点向下Y轴正方向。系统提供了getLocationOnScreen(intlocation[])这样的方法来获取android坐标系中点的位置,即该视图左上角在android坐标系中的坐标。另外,在触控事件中使用getRawX(),getRawY()方法所获得的坐标同样是android坐标系中的坐标。
视图坐标系
android中除了上面所说的这种坐标系之外,还有一个视图坐标系,它描叙了子视图在父视图中的位置关系。在视图坐标系中是以父视图的左上角为坐标原点。在触控事件中,通过getX(),getY()所获得的坐标就是视图坐标系中的坐标。触控事件
按下动作,离开动作,移动动作,动作取消,超出边界,按下动作,离开动作通常情况下,我们会在onTouchEvent(MotionEvent event)方法中通过event.getAction()方法来获取触控事件的类型,并使用switch-case方法来进行筛选。
在不涉及多点操作的情况下,通常可以使用以上方式来完成触控事件的监听。
1.View提供的获取坐标方法
getTop():获取到的是View自身的顶边到其父布局顶边的距离
getLeft():获得到的是View自身的左边到其父布局左边的距离
getRight():获得到的是View自身的右边到其父布局左边的距离
getBottom():获得到的是View自身的底部到其父布局左边的距离
2.MotionEvent提供的方法
getX():获取点击事件距离控件左边的距离,即试图坐标
getY():获取点击事件距离控件顶边的距离,即试图坐标
getRawX():获取点击事件距离控件左边的距离,即绝对坐标
getRawY():获取点击事件距离控件顶边的距离,即绝对坐标
实现滑动的七种方法
1.layout方法
2.offsetLeftAndRight()与offsetTopAndBottom()
3.scrollTo与scrollBy
4.LayoutParams
5.Scroller
6.属性动画
7.ViewDragHelper
相关文章推荐
- Android : 巧用RadioGroup作为Tab切换的按钮
- Android项目重构之路:界面篇
- Android 开发 NDK从入门到精通
- android 常用控件listview的使用(一)
- Android中关于EditText点击事件的响应问题记录
- RxAndroid使用指南
- Android复习之基本的viewpager的使用
- Android Private Libraries、Referenced Libraries、android Dependency详解
- 前 Sun 公司 CEO 作证 Android 没有授权问题
- Android BroadcastReceiver 详解
- fragmentargs 源码解析
- Android Studio Jni 环境搭建
- android 开发之 fragment与activity 创建菜单的区别
- android-小细节
- Android属性动画完全解析(上),初识属性动画的基本用法
- Android Widget 中ListView加载网络图片
- Android Binder
- 论Android应用进程长存的可行性
- 浅析Margin和Padding属性
- 最详细的 Android Toolbar 开发实践总结