何时调用View.onMeasure()?

什么时候

View.onMeasure(int widthMeasureSpec, int heightMeasureSpec)

叫?我有一个活动,需要在调用onMeasure之后执行一项操作。

我的问题与此处未回答的问题相同。在查看文档指出onMeasure当被称为requestLayout()被调用时,它显然是对自身视图调用时它认为是不能再目前的范围内配合。

但是,这不能告诉我何时我的活动可以假设我的视图已被测量。我已使用此代码将ImageView扩展为TouchImageView。建议在这里使用onMeasure方法缩放图像。我希望在测量ImageView之后更新TextView的值,以显示图像缩放的百分比。

回答:

当父视图需要计算布局时,将调用onMeasure。通常,根据存在的不同子项及其布局参数,可能会多次调用onMeasure。

调用onMeasure时,做某事的最好方法是(我认为)创建自己的控件,扩展ImageView并覆盖onMeasure(只需调用super.onMeasure并执行您想做的其他事情)。

如果这样做,请记住,在Measure上可能会使用不同的参数多次调用,因此所测量的内容可能不是实际显示的最终宽度和高度。

以上是 何时调用View.onMeasure()? 的全部内容, 来源链接: utcz.com/qa/397519.html

回到顶部