onCreate()中的getLocationOnScreen()只返回零

时间:2012-11-06 03:28:07

标签: android

在对单击按钮的响应中,在ImageView(或其他视图)上调用getLocationOnScreen()会给出正确的值。

但是当从Activity :: onCreate()调用getLocationOnScreen()时,我只得到[0,0]。我该如何解决这个问题?

onCreate()太早,无法进行所有计算吗?是否有更好的地方可以挂钩来开始动画?

1 个答案:

答案 0 :(得分:25)

现在检查getLocationOnScreen()中的onCreate()为时尚早。更好的位置是在视图级别(如果您使用自定义视图),位于onLayout()。仅在此处,计算视图的大小和位置。如果您没有创建自定义视图,则可以在onWindowFocusChanged()的活动级别获取它(活动具有焦点)。