android - onCreate() 中的 getLocationOnScreen() 仅返回零

标签 android

在响应按钮点击时在 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/

相关文章:

android - 同一TextView中字符串的不同字体大小

java.text.ParseException : Unparseable number: “2,3456” (at offset 5)

java - 如何检测两个手指绘制两个单独的圆圈?

android - 如何将两个 ArrayAdapter 合并为一个并在一个 ListView 中显示

java - 如何知道应用程序已更新

安卓 : Bitmap causing out of memory error

android - 向 Firebase 通知添加操作

android - R.java 无法打开/不存在

android - 以编程方式在 Android 中启用/禁用屏幕旋转

java - 安卓/Java : Group project