0
我有一種情況:在自定義視圖中重寫`setMeasuredDimension()`或`getMeasuredWidth()`是否是一個好習慣?
ViewA extends
ViewB,既覆蓋onMeasure()
和呼叫setMeasuredDimension()
。 ViewA將其寬度設置爲10dp
,而ViewB將其寬度設置爲20dp
。現在,如果我在onMeasure()
的末尾從ViewB調用super.getMeasuredWidth()
來獲取ViewA的寬度,我會得到20dp
。當ViewA完成自我測量時,原因很明顯,ViewB調用setMeasuredDimension()
,然後覆蓋舊的值。
現在顯而易見的解決方案是重寫相關方法。我的問題是,在自定義View
中覆蓋setMeasuredDimension()
或getMeasuredWidth()
,getMeasuredHeight()
是否是一種很好的做法。