2020/05/07
**
- 【Release】2.2.3
- 我们针对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修复:
【Candy开发记录】
**
- 【2.2.3.20200304】
- 优化覆盖状态栏情况下的事件传递
- 方法弃用:
->setPopupWindowFullScreen()
setOverlayStatusbar()
- 新增方法:
setPopupGravityMode()
- Demo迁移至蒲公英
- 【2.2.3.20200311】
- 开放BasePopup的PopupShowing回调
- 现在可以在
onShowing()
中监听BasePopup显示了~
- 现在可以在
- 增加
OnPopupWindowShowListener
,效果同上 - fix #267
- 修复
setOverlayStatusbar(false)
情况下与Anchor关联时显示位置错误的问题
- 开放BasePopup的PopupShowing回调
- 【2.2.3.20200313】
- 增加背景模糊demo
- 抛弃反射黑科技,感谢@xchengDroid提出的方案
- 【2.2.3.20200316】
- 支持的最低版本降至api 16
- 【2.2.3.20200404】
- 优化decorView寻找方式,释放引用优化
- 添加LifeCycle绑定方法(
bindLifecycleOwner()
) - 添加Api展示
- 【2.2.3.20200406】
- 修复当PopupWindow弹出时,Activity弹出的输入法显示在PopupWindow下层的问题
- fix #224
- 【2.2.3.20200411】
- 增加
onPreShow()
方法,在真正show之前可以在该方法配置
- 增加
- 【2.2.3-dev01】(2020/04/21)
- fix#281
- 补充QuickPopupConfig方法
- deprecated:
- BasePopupWindow#dismissWithOutAnimate()
- QuickPopupConfig#dismissOnOutSideTouch()
- QuickPopupConfig#allowInterceptTouchEvent()
- 【2.2.3-dev02】(2020/05/06)
- 修复全屏activity判断bug
- 【2.2.3-dev03】(2020/05/07)
- 添加
onPopupLayout()
和computeGravity()
方法,便于完成箭头这类需求的部署 - 添加demo
- 添加