在coordinatorLayout中隐藏相关视图时更新目标视图位置

时间:2017-10-18 20:48:38

标签: android-coordinatorlayout

我有一个视图A,它与另一个视图B有一个依赖关系。当我试图隐藏这个视图B时,视图A的位置仍然是相同的。理想情况是,如果视图B的可见性为GONE,则视图A应更新其位置。

在视图行为中,有一个名为onDependentViewChanged()的方法,但根据此方法的注释,只有在视图B的位置发生变化时才会更改视图A的位置。但我不想改变视图B的位置,只需隐藏它。

因此,如果我想隐藏视图B时更新视图A的位置,我该怎么做。

由于

====

我还尝试更新onDependentViewRemoved中的视图,但不确定为什么不调用此方法

1 个答案:

答案 0 :(得分:0)

找到解决方案,在检查了CoordinatorLayout的源代码后,发现一个接口方法onLayoutChild()就是我想要的。只需在自定义行为文件中实现此方法,并在此方法中,根据相关视图的可见性更新目标视图的位置。

相关问题