天天看點

戲說View的繪制流程

Android城中的老張今年收成不錯,玉米,麥子收了倉溢庫滿;日子過得紅火不說,幾個兒子也比較争氣,工作沒幾年就都帶了個女朋友回家;

沒辦法兒子大了房子住不下了,必須重新的蓋房不是;

咱老百姓不就圖個兒孫滿堂嘛,蓋房子立即提上了老兩口的議事日程;

老張量了下前年新分的宅基地:2560x1440;

為了展現民主老張組織幾個兒子開了個會,讓大家自己根據需要自主的确定房間的面積;

每個兒子拿到了任務都叫上了自己的女朋友規劃自己的房間(onMeasure);

天一亮幾個兒子都把自己的圖紙給了老張,老張一看吓一跳二兒子心比天高,竟然比大哥要的面積還大;

這怎麼行,還沒個長幼之分了,老張又給二兒子加了個新要求(MeasureSpec.AT_MOST),最多隻能有大哥的一樣大,自己再重新計算圖紙;

沒辦法,二兒子又重新規劃了自己房間的圖紙(重複的onMeasure);

圖紙風波過了,老張就負責在宅基地上分别地标出幾個兒子房間的位置(layout);

标注好之後通知幾個兒子來看下他們的房間還有需要做内部調整的沒有(onLayout);

除了小兒子在不影響大局的情況下把窗戶的朝向改變了一下外,大家都一緻通過;

接下來全家就要開始蓋房子了(draw);

老張老了,重活幹不了,隻能幾個兒子自己幹了(onDraw);

大家都在自己規劃區域内,熱火朝天的幹着;

老兩口看着這場面,留下了幸福的熱淚。