当前位置: 首页 > 面试题库 >

何时调用View.onMeasure()?

田嘉澍
2023-03-14
问题内容

什么时候

View.onMeasure(int widthMeasureSpec, int heightMeasureSpec)

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

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

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


问题答案:

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

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

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



 类似资料:
  • 在什么情况下会调用applicationWillTerminate?例如,如果代码中出现崩溃,是否会调用它? 苹果的doc对此语焉不详,它只说当系统出于某种原因需要终止它的时候。 对于不支持后台执行或针对iOS3.x或更早版本链接的应用程序,当用户退出应用程序时,总是调用此方法。对于支持后台执行的app,用户退出app时一般不会调用此方法,因为在那种情况下app只是移动到后台。但在app在后台运行

  • ViewModels是独立于activity/片段生命周期还是仅仅独立于其配置更改。它们何时将不再存在,随后的onCleared()方法将被调用。viewModel可以与另一个activity共享吗? 一种情况: 这种分享是否可能,是否是一种好的做法。 此外,由于应用程序生命周期回调,onpause->onstop->ondestroy对这两个程序都是相同的 1.activity旋转和 2.act

  • Q1。我的理解是。但是超时场景呢? Q2。在哪里检查完整未来的默认超时设置?如何更改它?未来超时后会发生什么?(完成还是异常?) Q3。只要未来“完成”(完成或超时或任何最后阶段),我就需要。是否有保证在未来“完成”后调用的方法?我应该把放在哪里? 从新到完整的未来。更喜欢用Java8回答。谢谢你的帮助。

  • 我的问题可以是如何使用RXJava2的CompositeDisposable的重复?但要求再澄清一个疑点。根据接受的答案 在我的例子中,我使用片段作为我的视图(MVP中的视图层),在某些情况下,我将活动片段添加到backstack,这实际上不会杀死片段,而只是杀死它的视图。这意味着只调用而不调用。稍后,我可以回到后面堆栈中的相同片段,所以只有它的视图被重新创建。我有一个作为我的的成员,它保存订阅。

  • 问题内容: 现在,我使用一个静态布尔值来告诉初始化何时发生。有没有更简单的方法知道我已经调用了initialize? 谢谢!!! 解决了!!!!非常感谢您的评论。您需要在扩展应用程序的类中初始化解析,然后将其作为应用程序(而不是其他活动)添加到清单文件中。 :) 这是我使用Parse的课程: 这是我的android清单文件 问题答案: 创建一个应用程序类,然后在onCreate中初始化解析。 在此

  • 问题内容: 当消化周期正在发生的事情,我很困惑,是基于每50ms定时器它定期调用(因为它说,在这里,并暗示在这里,或者它的每一个进入的角度范围内(因为它说,事件发生后呼吁在这里,在这里还有这里? 重要的示例: 在我的模型中,我有一个名为3的变量。在我的HTML中,我有。触发按钮单击之类的事件并在控制器中引发一个处理程序,该处理程序内的代码为: 假设UI线程未被阻止,则单击按钮后用户将看到什么?他只