【发布时间】:2014-02-05 17:30:35
【问题描述】:
我想知道View.post(Runnable r)runnable的run()方法是在View被绘制之后还是在View(如果是ViewGroup)之后执行并且它的所有孩子都被绘制了?
【问题讨论】:
我想知道View.post(Runnable r)runnable的run()方法是在View被绘制之后还是在View(如果是ViewGroup)之后执行并且它的所有孩子都被绘制了?
【问题讨论】:
它将被放入 UI 消息队列中,具体何时执行取决于 Android 内部工作原理。如果子视图的渲染是在一条消息中,那么它可能会在渲染后执行,如果它被 android 拆分为几条消息,那么您的消息可能会在渲染之间执行。
如果你想确保它会在子重绘后执行,也许使用 View.postDelayed 有一些小的延迟?
What event is fired after all views are fully drawn?
这是 Romain Guy 的解释,它实际上是在重绘后执行的 - 如果没有任何改变(它 4 岁的 SO),那么你可能会相信这个答案。
【讨论】: