我有一个场景:
ViewA extendsViewB,覆盖onMeasure()和调用setMeasuredDimension()。ViewA 将其宽度设置为,10dp而 ViewB 将其宽度设置为20dp。现在,如果我super.getMeasuredWidth()在末尾从 ViewB调用onMeasure()以获取 ViewA 的宽度,我会得到20dp. 原因很明显,当 ViewA 完成自我测量时, ViewB 调用setMeasuredDimension()又覆盖旧值。
现在显而易见的解决方案是覆盖相关方法。我的问题是,在 custom中覆盖setMeasuredDimension()or是一种好习惯。getMeasuredWidth()getMeasuredHeight()View