【发布时间】:2010-10-16 00:50:48
【问题描述】:
我需要捕获一些 ImageView 的绝对位置以用作放置目标。我似乎找不到我需要将代码放入哪个事件来读取屏幕并获取 Left()、Top() .. 位置。我不想监控每个单独视图的膨胀。一定有某种 onScreenFinsihed 类型的事件,但我找不到。 onMeasure 和 onDraw 似乎在他们的工作开始时触发,我需要知道他们什么时候完成。 TIA。
【问题讨论】:
我需要捕获一些 ImageView 的绝对位置以用作放置目标。我似乎找不到我需要将代码放入哪个事件来读取屏幕并获取 Left()、Top() .. 位置。我不想监控每个单独视图的膨胀。一定有某种 onScreenFinsihed 类型的事件,但我找不到。 onMeasure 和 onDraw 似乎在他们的工作开始时触发,我需要知道他们什么时候完成。 TIA。
【问题讨论】:
没有这样的事件。您可以简单地在绘图序列开始时在 UI 事件队列中发布消息/Runnable,以便在绘图完成后执行此消息/Runnable(例如,参见 View.post(Runnable)。)此外,getLeft/getTop 返回测量和布局后的正确值,您无需等待绘图结束即可使用。
【讨论】: