本文將為大家說明View的draw機制的相關內容,具體內容請看下面
View:1、draw//繪制一個View以及他的子View。最好不要覆寫該方法,應該覆寫onDraw方法來繪制自己。public void draw(Canvas canvas);
publicvoiddraw(Canvascanvas){ 1、繪制backgroud(drawBackground); 2、如果需要的話,保存canvas的layer,來准備fading; 3、繪制view的content(onDraw方法); 4、繪制children(dispatchDraw方法); 5、如果需要的話,繪制fadingedges,然後還原layer; 6、繪制裝飾器、比如scrollBar(onDrawForeground); }
2、onDraw
//繪制一個View的外觀。View的默認實現是空實現,所以這裡沒有源碼給出。
protected void onDraw(Canvas canvas);
ViewGroup:1、dispatchDraw/**繪制子View,View類是空實現,ViewGroup類中有實現 */protected void dispatchDraw(Canvas canvas);
protectedvoiddispatchDraw(Canvascanvas){ if(需要繪制布局動畫){ for(遍歷子View){ 綁定布局動畫; } 啟動動畫控制,通知動畫開始; } for(遍歷子View){ child.draw(); } }
以上就是這篇文章的全部內容了,希望大家能夠喜歡。
[db:作者簡介][db:原文翻譯及解析]【View的draw機制】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!