BasePopup提供showPopupWindow(View)来跟锚点View关联,但这仅仅跟展示有关,当AnchorView变化时,BasePopup并不会跟随变化。
然而我们会有可能遇到一些需要跟随变化的场景:比如锚点View在一个列表中,当它滑动时我们的BasePopup也需要跟着更新位置或可见性,此时我们可以使用linkTo(View)方法来连接锚点View达到我们的目的。
连接会在弹窗消失时断开,在展示时连接。

| 解惑
之所以不默认绑定,原因有以下几点:
1. BasePopup实际上是通过监听目标的preDraw来不断对自己进行update()达到连接的效果,某种意义上来说,是一个比较费性能的功能。
1. 并不是所有的弹窗都需要这个功能,基于第一点考虑,我们以性能为上。
1. 需要这个功能的弹窗未必就是连接showPopupWindow(View)传入的锚点。
提示
不建议在连接的情况下设置背景模糊,这会导致较大的性能损耗。 | | —- |

示例

默认 连接
default.gif withlink.gif