前言
我们经常使用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层级体系,最后填加到id为content的FrameLayout根布局中。LayoutInflater.inflate() 会调用 createViewFromTag解析该元素拿到Vi
深入理解Android:自定义View及绘制流程解析

本文详细介绍了Android中自定义View的概念,包括实现方式、构造函数、绘制流程,重点解析了measure()、layout()和draw()三个关键步骤。同时,探讨了invalidate()、requestLayout()和postInvalidate()在View更新和重绘中的作用。
订阅专栏 解锁全文
1730





