2.2.3
版本发布时间: 2020-05-08 00:36:59
razerdp/BasePopup最新发布版本:3.1.0(2021-06-03 17:26:25)
-
【Release】2.2.3(2020/05/07)
- 我们针对2.2.2系列问题进行了修复,同时增加了一些新的功能,欢迎更新到最新版本~
-
新增功能/方法:
- 新增
setPopupGravityMode()
:您可以单独设置BasePopup对齐方式而不需要始终带上Gravity - 新增
OnPopupWindowShowListener
接口:在BasePopup显示后回调该接口,当回调该方法时意味着弹窗已经完成,此时ui已经显示在屏幕上 - 新增
bindLifecycleOwner()
:您现在可以自由绑定您的LifecycleOwner - 新增
onPreShow()
回调:在BasePopup弹出之前回调该方法,如果返回false,则不会弹出 - 新增
onShowing()
回调:在BasePopup显示后回调该方法,当回调该方法时意味着弹窗已经完成,此时ui已经显示在屏幕上 - 新增
onPopupLayout()
回调:如果弹窗与锚点View关联,当BasePopup在布局的时候回调该方法,分别返回BasePopup在屏幕上的位置和锚点View在屏幕上的位置 - 新增
computeGravity()
:配套onPopupLayout()
回调,计算BasePopup中心点在锚点View的方位。
- 新增
-
弃用方法及更替:
-
BasePopupWindow#dismissWithOutAnimate()
,请使用dismiss(false) -
BasePopupWindow#setPopupWindowFullScreen()
,请使用setOverlayStatusbar() -
QuickPopupConfig#dismissOnOutSideTouch()
,请使用outSideDismiss() -
QuickPopupConfig#allowInterceptTouchEvent()
,请使用outSideTouchable()
-
-
优化:
- 优化DecorView的查询方式,原逻辑会缓存下查询后的DecorView,但可能会因为该DecorView宿主已经销毁或者变更而导致显示错误
- 支持的最低版本降至Api 16
- 放弃反射WindowManager的方式,采取ContextWrapper代理,不再担心遭遇黑灰名单封锁了~感谢@xchengDroid提供的方案
- bug修复: