在Android中,View是一个很重要的角色,简单来说,View是Android中视觉的呈现,在界面上Android提供了一套完整的GUI库,里面有很多控件,但是有时候往往并不能满足于需求,所以只有自定义View了,我们会简单的说下流程,然后再去实践

除了View的三大流程之外,View常见的回调方法也是必须掌握的,比如构造方法,onAttach,onVisibilityChanged,onDetach,另外对于一些有滑动效果的自定义View,还要处理滑动事件和滑动冲突,总的来说,自定义View有几种固定的类型,View或者ViewGroup,有的直接重写原生控件,这个就要看需求了

一.初识ViewRoot和DecorView
在正式介绍View的三大流程之前,我们还是要了解一些基本的概念,所以本章会说下ViewRoot和DecorView

ViewRoot对应于ViewRootImpl类,他是连接WindowManager和DecorView的纽带,View的三大流程都是通过ViewRoot来完成的,在ActivityThread中,当Activity被创建完毕后,会将DecorView添加到Window中,同时会创建ViewRootImpl对象,并将ViewRootImpl对象和DecorView建立联系,这个可以参照官网:

root = new ViewRootImpl(view.getContext(),display);
root.setView(view,wparams,panelParentView);
View的绘制流程从ViewRoot的perfromTraversals方法开始,他警告measure,layout和draw三个过程才能将View画出来,,其中measure测量,layout确定view在容器的位置,draw开始绘制在屏幕上,针对perfromTraversals的大致流程,可以看图
 

更多相关文章

  1. Android资源String中html标签的使用
  2. Android四大控件之Activity详解:实践篇
  3. Android中Fragment的使用
  4. activity 启动流程分析
  5. 分享两种最简单的Android打渠道包的方法
  6. Android入门进阶教程(15)-进程创建zygote 详解
  7. Android圆形进度条控件-CircleSeekBar
  8. android ndk 开发之 在 框架层使用 jni
  9. Android中各种Adapter的使用方法

随机推荐

  1. Android(安卓)Building System
  2. 【Android(安卓)Dev Guide - 01】 - What
  3. 《疯狂Android讲义》
  4. Android零基础入门第33节:Android事件处理
  5. Android应用程序消息处理机制(Looper、Han
  6. Android(安卓)UI Action Bar之ActionBarS
  7. Android基本操作1(意图使用、界面转换、按
  8. Android进程间通信--消息机制及IPC机制实
  9. android之调用webservice 实现图片上传下
  10. adb 命令 pc端 "复制粘贴" 文本到android