9

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

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

onCreate() 是否太早,无法完成所有计算?以后有没有更好的地方来挂钩开始动画?

4

1 回答 1

26

getLocationOnScreen()现在入住还为时过早onCreate()。更好的地方是在视图级别(如果您使用自定义视图),在onLayout(). 只有在这里,才会计算视图的大小和位置。如果您没有创建自定义视图,您可以在活动级别获取它onWindowFocusChanged()(活动具有焦点)。

于 2012-11-06T03:51:00.380 回答