2014-11-05 22 views
0

我正在創建自定義視圖組。在執行代碼時,自定義視圖組的onMeasure函數被多次調用。在onMeasure調用時,測量模式也發生了變化。 例如,(我的理解) 如果在xml中設置了'match_parent',則測量模式爲AT_MOST右側。此時爲什麼AT_MOST和EXACTLY都被調用。 請幫我理解正確。爲什麼onMeasure在不同模式下多次調用?

回答

0

這取決於父母。一些ViewGroups會對他們的孩子進行兩次測量,因爲他們無法確定如何僅通過一次測量就完成所有孩子的佈置。

+0

謝謝karakuri。但是爲什麼在測量過程中(onMeasure)每次測量模式都在變化。 – 2014-11-05 08:41:05

+0

沒有要求MeasureSpec模式每次都是相同的。 ViewGroup可以測量一次,看看孩子想要多大,然後在決定給孩子多少空間後再用不同的模式測量。 – Karakuri 2014-11-05 16:16:25

+0

你能舉一個「度量兩次」的實際例子嗎? – Jacky 2014-12-28 11:15:36

相關問題