View 通過 measure 來測量 View 的寬高,layout 來確定 View 在父容器中的放置位置,draw 則負責將 View 繪制在屏幕上。
Measure 完成后,可以通過 getMeasuredWidth 和 getMeasuredHeight 獲取 View 的寬高,在幾乎所有情況下它都等于 View 的最終寬高,但是特殊情況除外,
Layout 過程決 View 的四個頂點坐標和實際的 View 的寬高,完成后可以通過 getTop、getBottom、getLeft、getRight 來拿到 View 的四個頂點的位置。并可以通過 getWeight 和 getHeight 拿到 View 的最終寬高。
Draw 過程決定了 View 的顯示,只有 draw 方法完成以后 View 的內容才會呈現在屏幕上。
自定義 View,如果繼承 ViewGroup 必須要重寫 onLayout 方法,繼承 View 則沒有限制。
Android 開發藝術探索
新聞熱點
疑難解答