View的事件分发机制.md
View:
dispatchTouchEvent(MotionEvent event)
onTouch(View view,MotionEvent event)
onTouchEvent(Motion Event)
ViewGroupActivity
View的事件分发机制.md
View:
dispatchTouchEvent(MotionEvent event)
onTouch(View view,MotionEvent event)
onTouchEvent(Motion Event)
ViewGroupActivity
View的绘制流程.md
View的绘制流程,指的就是measure、layout和draw。其中,measure用来测量View的宽和高,layout用来确定View的位置,draw则用来绘制View。重要角色:
ViewRootImpl
MeasureSpec
MeasureSpec解析
MeasureSpec是View的静态内部类
封装了一个View的规格尺寸
在Measure流程中,系统会将View的LayoutParams根据父容器所施加的规则转换成对应的MeasureSpec,然后在onMeasure方法中根据这个MeasureSpec来确定View的宽和高。
作为顶层View的DecorView来说,其并没有父容器,那么它的MeasureSpec是如何得来的呢?
View的绘制流程.md
View的绘制流程,指的就是measure、layout和draw。其中,measure用来测量View的宽和高,layout用来确定View的位置,draw则用来绘制View。重要角色:
ViewRootImpl
MeasureSpec
MeasureSpec解析
MeasureSpec是View的静态内部类
封装了一个View的规格尺寸
在Measure流程中,系统会将View的LayoutParams根据父容器所施加的规则转换成对应的MeasureSpec,然后在onMeasure方法中根据这个MeasureSpec来确定View的宽和高。
作为顶层View的DecorView来说,其并没有父容器,那么它的MeasureSpec是如何得来的呢?
Android View体系.md
系统View继承关系
Android坐标相关Android的坐标系
Android坐标系
View(视图)坐标系
View自身的坐标通过如下方法可以获得View到其父控件(ViewGroup)的距离。
getTop():获取View自身顶边到其父布局顶边的距离。
getLeft():获取View自身左边到其父布局左边的距离。
getRight():获取View自身右边到其父布局左边的距离。
getBottom():获取View自身底边到其父布局顶边的距离。
MotionEvent获取焦点坐标
getX():获取点击事件距离控件左边的距离,即视图坐标。
getY():获取点击事件距离控件顶边的距离,即视图坐标。
getRawX():获取点击事件距离整个屏幕左边的距离,即绝对坐标。
getRawY():获取点击事件距离整个屏幕顶边的距离,即绝对坐标。
View的滑动方式:当点击事件传到Vi e w时,系统记下触摸点的坐标,手指移动时系统记下移动后触摸的坐标并算出偏移量,并通过偏移量来修改View的坐标。实现方法如下:
layout() 方法
offsetLeftAndRight( ...
Android View体系.md
系统View继承关系
Android坐标相关Android的坐标系
Android坐标系
View(视图)坐标系
View自身的坐标通过如下方法可以获得View到其父控件(ViewGroup)的距离。
getTop():获取View自身顶边到其父布局顶边的距离。
getLeft():获取View自身左边到其父布局左边的距离。
getRight():获取View自身右边到其父布局左边的距离。
getBottom():获取View自身底边到其父布局顶边的距离。
MotionEvent获取焦点坐标
getX():获取点击事件距离控件左边的距离,即视图坐标。
getY():获取点击事件距离控件顶边的距离,即视图坐标。
getRawX():获取点击事件距离整个屏幕左边的距离,即绝对坐标。
getRawY():获取点击事件距离整个屏幕顶边的距离,即绝对坐标。
View的滑动方式:当点击事件传到Vi e w时,系统记下触摸点的坐标,手指移动时系统记下移动后触摸的坐标并算出偏移量,并通过偏移量来修改View的坐标。实现方法如下:
layout() 方法
offsetLeftAndRight( ...