除了常规的setWidth
和setHeight
来设置BasePopup的宽高,BasePopup还提供了一系列宽高限定的方法,详情请看下表格
方法 | 描述 |
---|---|
setMinWidth(int) | 设置BasePopup最小的宽度 |
setMaxWidth(int) | 设置BasePopup最大的宽度 |
setWidthAsAnchorView(boolean) | 设置BasePopup宽度跟随AnchorView(在showPopupWindow(View) 时生效) |
setMinHeight(int) | 设置BasePopup最小的高度 |
setMaxHeight(int) | 设置BasePopup最大的高度 |
setHeightAsAnchorView(boolean) | 设置BasePopup高度跟随AnchorView(在showPopupWindow(View) 时生效) |
setFitSize(boolean) | 设置BasePopup是否允许根据剩余空间自动调整大小,默认允许 |
上述方法中比较常见的我们不再展示示例,下面我们展示一些不那么容易理解的功能
setFitSize(boolean)
默认值:允许自动调整
通常情况下,BasePopup在剩余空间不足以展示弹窗时,会反向位移,以保证内容能够完整展示。
但有时候我们不希望反向位移,而是希望能够根据剩余空间来调整BasePopup的大小时,我们就可以使用该方法允许BasePopup自适应调整宽高。
【常见场景】 当我们弹窗局宽度/高度为wrap_content时,随着宽度/高度增大,逐渐占满剩余空间,在没有设置setfitSize的情况下,弹窗会反向位移保证完整展示弹窗。 对于该问题,我们可以通过改变根布局宽度/高度为match_parent来占满剩余空间,但是我们需要处理点击到ContentView的事件,略微麻烦。 而如今只需要设置该API即可,但是请务必留意您的剩余空间大小,过小的剩余空间可能会导致弹窗实际宽度/高度过小。 |
---|