作者:guolin
來源:CSDN
原文:https://blog.csdn.net/guolin_blog/article/details/12921889
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!
在上一篇文章中,我?guī)е蠹乙黄鹌饰隽艘幌翷ayoutInflater的工作原理,可以算是對View進(jìn)行深入了解的第一步吧。那么本篇文章中,我們將繼續(xù)對View進(jìn)行深入探究,看一看它的繪制流程到底是什么樣的。
相信每個Android程序員都知道,我們每天的開發(fā)工作當(dāng)中都在不停地跟View打交道,Android中的任何一個布局、任何一個控件其實都是直接或間接繼承自View的,如TextView、Button、ImageView、ListView等。這些控件雖然是Android系統(tǒng)本身就提供好的,我們只需要拿過來使用就可以了,但你知道它們是怎樣被繪制到屏幕上的嗎?多知道一些總是沒有壞處的,那么我們趕快進(jìn)入到本篇文章的正題內(nèi)容吧。
要知道,任何一個視圖都不可能憑空突然出現(xiàn)在屏幕上,它們都是要經(jīng)過非常科學(xué)的繪制流程后才能顯示出來的。每一個視圖的繪制過程都必須經(jīng)歷三個最主要的階段,即onMeasure()、onLayout()和onDraw(),下面我們逐個對這三個階段展開進(jìn)行探討。
一、onMeasure()
onMeasure()
二、onLayout()
onLayout()
三、onDraw()
onDraw()
附:第一篇:Android LayoutInflater原理分析
附:第三篇:Android視圖狀態(tài)及重繪流程分析
作者:guolin
來源:CSDN
原文:https://blog.csdn.net/guolin_blog/article/details/16330267
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!