Skip to content

2.2.3

Compare
Choose a tag to compare
@razerdp razerdp released this 07 May 16:36
· 1055 commits to master since this release
  • 【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修复:
      • 修复覆盖状态栏时事件传递存在偏移的情况
      • 修复isShowing()存在空指针的情况(issue:#267)
      • 修复setOverlayStatusbar(false)情况下与Anchor关联时显示位置错误的问题
      • 修复部分引用没有置空导致可能存在的内存泄漏问题(事实上并没发现泄漏)
      • 修复BasePopup弹出时,Activity弹出的输入法显示在BasePopup下层的问题
      • 修复全屏Activity判断错误的问题
      • 修复QuickPopupConfig配置缺漏的问题
      • 修复未弹窗时直接调用dismiss(),然后首次调用showPopupWindow()失效的问题
      • fixed issue:#224