在对单击按钮的响应中,在ImageView(或其他视图)上调用getLocationOnScreen()会给出正确的值。
但是当从Activity :: onCreate()调用getLocationOnScreen()时,我只得到[0,0]。我该如何解决这个问题?
onCreate()太早,无法进行所有计算吗?是否有更好的地方可以挂钩来开始动画?
答案 0 :(得分:25)
现在检查getLocationOnScreen()
中的onCreate()
为时尚早。更好的位置是在视图级别(如果您使用自定义视图),位于onLayout()
。仅在此处,计算视图的大小和位置。如果您没有创建自定义视图,则可以在onWindowFocusChanged()
的活动级别获取它(活动具有焦点)。