Android - 是否有一个在onResume()后立即调用的回调?

Zso*_*agy 17 android android-ui

是否有一个总是在onResume()之后调用的回调?我需要它,因为AFAIK,在onResume()之后,布局中的每个View都被渲染了,所以我可以测量它们的尺寸.

谢谢.

Aus*_*son 25

活动| Android开发者

protected void onPostResume ()
Run Code Online (Sandbox Code Playgroud)

自:API级别1

在活动恢复完成时调用(在调用onResume()之后调用).应用程序通常不会实现此方法; 它适用于系统类在应用程序恢复代码运行后进行最终设置.

派生类必须调用超类的此方法的实现.如果他们不这样做,将抛出异常.


您可能也对(在同一链接中)感兴趣:

public void onWindowFocusChanged (boolean hasFocus)
Run Code Online (Sandbox Code Playgroud)

自:API级别1

当活动的当前窗口获得或失去焦点时调用.这是该活动对用户是否可见的最佳指标.默认实现清除密钥跟踪状态,因此应始终调用.

请注意,这提供了有关全局焦点状态的信息,该状态与活动生命周期无关地进行管理.因此,虽然焦点更改通常会与生命周期更改有一些关系(停止的活动通常不会以窗口为中心),但您不应该依赖此处的回调和其他生命周期方法(如onResume)中的任何特定顺序. ().

但是,作为一般规则,恢复的活动将具有窗口焦点...除非它显示其他对话框或弹出窗口以获取输入焦点,在这种情况下,当其他窗口具有焦点时,活动本身将不具有焦点.同样,系统可以显示系统级窗口(例如状态栏通知面板或系统警报),其将临时获取窗口输入焦点而不暂停前台活动.

参数

hasFocus    Whether the window of this activity has focus.
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,onWindowFocusChanged做了这个伎俩.似乎即使在onPostResume()中,事物仍然无法测量...... (2认同)
  • @EdwardFalk:ViewTreeObserver.addOnGlobalLayoutListener() (2认同)