【问题标题】:Determine when Android View's position is updated确定 Android View 的位置何时更新
【发布时间】: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 的调用方式,我的代码是第三方库的一部分

标签: android android-layout


【解决方案1】:

viewgroup的位置由他的父母决定,我们可以通过viewgroup layoutparams来改变他的宽高,或者实现它的onLayout方法来改变他的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-04
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    相关资源
    最近更新 更多