前言
我们经常使用TextView、button等控件,但是有些同学对于它们是如何显示和扩展的却并不那么熟悉。而这一块的知识也进阶高手必备的,写这一篇文章是想把view绘制这块的技术全面总结一下。我们知道,,Activity作为应用程序的载体负责向用户展现界面并提供了窗口进行视图绘制。
Android View绘制及事件(二)setContentView()源码,LayoutInflater加载View的过程
上一篇讲解了,当调用 Activity 的setContentView 方法后会调用PhoneWindow 类的setContentView方法,最终会生成一个继承FrameLayout的PhoneWindow的内部类DecorView对象。DecorView容器中包含根布局,通过findViewById()找到一个id为content的FrameLayout的根布局,Activity加载布局的xml最后通过 LayoutInflater.inflate() 将xml文件中的内容解析成View层级体系,