当从属视图隐藏在 coordinatorLayout 中时更新目标视图位置
Update target view position when dependent view is hidden in coordinatorLayout
我有一个视图 A 与另一个视图 B 有依赖关系。当我试图隐藏此视图 B 时,视图 A 的位置仍然相同。理想情况是,如果视图 B 的可见性消失,视图 A 应该更新其位置。
在view behavior中,有一个方法叫onDependentViewChanged(),但是根据这个方法的注释,只有当view B的位置改变时,view A的位置才会改变。但是我不想改变视图B的位置,只是隐藏它。
所以如果我想在视图 B 隐藏时更新视图 A 的位置,我该怎么做。
谢谢
====
我也尝试更新 onDependentViewRemoved 中的视图,但不确定为什么不调用此方法
找到解决办法,查看CoordinatorLayout的源码后,发现一个接口方法onLayoutChild()就是我想要的。只需在自定义行为文件和此方法内部实现此方法,根据相关视图的可见性更新目标视图的位置。
我有一个视图 A 与另一个视图 B 有依赖关系。当我试图隐藏此视图 B 时,视图 A 的位置仍然相同。理想情况是,如果视图 B 的可见性消失,视图 A 应该更新其位置。
在view behavior中,有一个方法叫onDependentViewChanged(),但是根据这个方法的注释,只有当view B的位置改变时,view A的位置才会改变。但是我不想改变视图B的位置,只是隐藏它。
所以如果我想在视图 B 隐藏时更新视图 A 的位置,我该怎么做。
谢谢
====
我也尝试更新 onDependentViewRemoved 中的视图,但不确定为什么不调用此方法
找到解决办法,查看CoordinatorLayout的源码后,发现一个接口方法onLayoutChild()就是我想要的。只需在自定义行为文件和此方法内部实现此方法,根据相关视图的可见性更新目标视图的位置。