在响应按钮点击时在 ImageView(或其他 View )上调用 getLocationOnScreen() 会给出正确的值。
但是当从 Activity::onCreate() 调用 getLocationOnScreen() 时,我只得到 [0, 0]。我该如何解决这个问题?
onCreate() 是否太早,无法完成所有计算?有没有更好的地方可以 Hook 开始动画?
最佳答案
在 onCreate()
中检查 getLocationOnScreen()
还为时过早。更好的地方是在 View 级别(如果您使用自定义 View ),在 onLayout()
处。只有在这里,才会计算 View 的大小和位置。如果您没有创建自定义 View ,您可以在 onWindowFocusChanged()
的 Activity 级别获取它( Activity 具有焦点)。
关于android - onCreate() 中的 getLocationOnScreen() 仅返回零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13243914/