本文由麦可网理,转载请注明出处。 Android 怎样画视图当 Activity 得到焦点后,就被要求画出它的布局。 Android 框架负责绘画的整个过程, 但 Activity 必须提供布局的根结点。绘画从根结点开始,它必须测量和画出布局树。 Drawing is handled by walking the tree and rendering each View that intersects the invalid region 。反过来,每一个 ViewGroup 负责请求每个子 View 去出它自己(用 draw() ), 每一个子 Vie w 负责把自己画出来。因为布局树从上到下依次访问, 因此父结点先被画出来, 兄弟结点再根据它们在树中出现的顺序,依次画出来。画布局包括两个过程: 测量过程和布局过程。测量过程在 measure(int,int) 方法中实现。并且从布局树的根结点到子孙结点。在自顶向下的递归过程中, 每一个 View 都保存了自己的尺寸。第二个过程在 layout(int, int ,int, int) 中实现,同样也是自顶向下调用。在这个过程中, 父结点利用在测量过程中得到的尺寸来布局子结点。当 View 的 measure() 方法返回时,它的 getMeasuredWidth() 和 getMeasuredHeight() 的值必须被设定,以给它的子孙使用。子结点的 measure width 和 heigh t 必须严格限制在父结点的范围内。父结点可能调用 measure() 方法很多次。有不同的用途,主要是协调实际尺寸和子结点的尺寸。测量过程利用两个类来交流尺寸信息。类 被 View 用来通知它的父结点, 它想怎样来设定尺寸和定位。基本的 LayoutParams 类只是被用来简单地描述想把宽和高设定为多大。对于每一个尺寸,可以设定为下面
android学习笔记怎样画视图 来自淘豆网m.daumloan.com转载请标明出处.