创建自定义视图并覆盖它的 onDraw()。
- 不覆盖 onMeasure() 画布占据设备的整个屏幕。
- 覆盖 onMeasure(),画布被重新调整为传递给 setMeasuredDimension() 的尺寸。
因此,我们可以确定地调整画布的大小,并且必须在 onMeasure() 中完成。
我想将自定义视图的画布重新调整为 LayoutParams(XML 或 Java)中指定的大小
现在需要方法/属性,它将返回 LayoutParams 中提到的大小参数以在 setMeasuredDimension() 内部传递。
getWidth()/getHeight() - 仅在第一次通过 onMeasure() 后设置值
getLayoutParams().width/getLayoutParams().height - 不确定该值何时返回有效值(以编程方式设置参数给出值“-1”)
getMeasuredWidth()/getMeasuredHeight() - 仅当它已在 XML 中设置时返回在布局参数中指定的尺寸参数,而不是在以编程方式分配的情况下。
是否有任何其他保证方法将返回已在 customview 的布局参数中设置的宽度和高度,或者 getMeasuredWidth()/getMeasuredHeight() 是传入 setMeasureDimensions() 的正确选择?