【发布时间】:2016-03-11 23:06:38
【问题描述】:
我有问题声明,我必须检测 Android View 位置的变化。
例如。当视图的位置通过以下 API 调用更改时,我应该会收到通知
View.setX() or View.setY()
我可以扩展 View 并覆盖上面的两个方法,但是如果 View 在某个父视图中并且如果有人调用 ParentView.setX() 或 ParentView.setY(),它仍然会更新子视图位置。
我也试过 onDraw 方法,它只被调用一次。是否有任何方法可以在每次 View 的位置状态更新时得到通知。
【问题讨论】:
-
使用 OnLayoutChangeListener。检查此链接stackoverflow.com/questions/19248628/…
-
不,它没有被调用,我已经在视图树上有了全局布局监听器
-
更改参数时调用 requestlayout()
-
我无法控制 View 的调用方式,我的代码是第三方库的一部分