原文链接 http://sparkyuan.me/ 转载请注明出处 View的绘制流程是从ViewRoot的performTraversals方法開始的.它经过measure.layout和draw三个过程才干终于将一个View绘制出来,当中measure用来測量View的宽和高,layout用来确定View在父容器中的放置位置,而draw则负责将View绘制在屏幕上. ViewRoot和DecorView ViewRoot ViewRoot相应ViewRootImpl类,它是连接WindowM…
Android开发艺术探索笔记--View(二) View的事件分发机制 学习资料: 1.Understanding Android Input Touch Events System Framework 2.Managing Touch Events in a ViewGroup 3.Android事件传递机制 4.Input Events 5.Mastering the Android Touch System 6.MotionEvent MotionEvent(运动事件)的传递规则 用户每…
Android开发艺术探索笔记 --View(一) View的基础知识 什么是View View是Android中所有控件的基类.是一种界面层控件的抽象. View的位置参数 参数名 获取方式 含义 top getTop() View左上角纵坐标 left getLeft() View左上角横坐标 bottom getBottom() View右下角纵坐标 right getRight() View右下角横坐标 View:x/y getX()/getY() View左上角坐标 translati…
原文链接 http://sparkyuan.me/ 转载请注明出处 介绍 点击事件的事件分发就是对MotionEvent事件的分发过程.当一个MotionEvent产生了以后,系统须要把这个事件传递给一个详细的View,而这个传递的过程就是分发的过程. 涉及到的三个方法 dispatchTouchEvent:用来进行事件的分发,假设事件可以传递给当前View.那么此方法一定会被调用,返回结果受当前View的onTouchEvent和View的dispatchTouchEvent方法的影响,表示是…
接上篇<android开发艺术探索>读书笔记(三) No1: View的三大流程:测量流程.布局流程.绘制流程 No2: ViewRoot对应于ViewRootImpl类,它是连接WindowManager和DecorView的纽带,View的三大流程均是通过ViewRoot来完成的. 在ActivityThread中,当Activity对象被创建完毕后,会将DecorView添加到Window中,同时会创建ViewRootImpl对象,并将ViewRootImpl对象和DecorView建立…
第9章 四大组件的工作过程 9.1 四大组件的运行状态 (1)四大组件中只有BroadcastReceiver既可以在AndroidManifest文件中注册,也可以在代码中注册,其他三个组件都必须在AndroidManifest文件中注册:ContentProvider的调用不需要借助Intent,其他三个组件都需要借助Intent.(2)Activity是一种展示型组件,用于向用户展示界面,可由显式或者隐式Intent来启动.(3)Service是一种计算型组件,用于在后台执行计算任务.尽管…
本节和<Android群英传>中的第3章Android控件架构与自定义控件详解有关系,建议先阅读该章的总结 第4章 View的工作原理 4.1 初始ViewRoot和DecorView (1)ViewRoot对应ViewRootImpl类,它是连接WindowManager和DecorView的纽带,View的三大流程均通过ViewRoot来完成.(2)ActivityThread中,Activity创建完成后,会将DecorView添加到Window中,同时创建ViewRootImpl对象,…
本节和<Android群英传>中的第五章Scroll分析有关系,建议先阅读该章的总结 第3章 View的事件体系 3.1 View基本知识 (1)view的层次结构:ViewGroup也是View:(2)view的位置参数:top.left.right.bottom,分别对应View的左上角和右下角相对于父容器的横纵坐标值.从Android 3.0开始,view增加了x.y.translationX.translationY四个参数,这几个参数也是相对于父容器的坐标.x和y是左上角的坐标,而t…
一.View基础知识 主要介绍内容有:View的位置参数.MotionEvent和TouchSlope对象.VelocityTracker.GestureDetector和Scroller对象 1.什么是View View是Android中所有控件的基类 View是一种界面层的控件的一种抽象,它代表了一个控件. 2.View的位置参数 四个属性 top 左上角纵坐标 getRight() left 左横 getLeft() right 右横 getRight() bottom 右纵 getBot…
View的点击事件的分发,其实就是对MotionEvent事件的分发过程,即当一个MotionEvent产生后,系统需要把这个事件传递给一个具体的View,而这个过程就是分发过程. 分发过程主要由以下3个方法共同完成: public boolean dispatchTouchEvent(MotionEvent event) 用来进行事件的分发.如果事件能够传递给当前的View,那么此方法一定会被调用,返回结果受当前的View的onTouchEvent和下级View的dispatchTouchEv…