Releases: razerdp/BasePopup
Releases · razerdp/BasePopup
2.2.2.2
-
【Release】2.2.2.2(2020/03/01)
- 修复一个很严重的可能会导致崩溃的问题
- 重现方式:dismiss动画没执行完的情况下finish了activity,会引发空指针崩溃
- 该问题在此之前的版本中是无法被 try & catch的
- 修复了finish的时候没有强制dismiss的问题
- 修复了一些flag的问题
- 修复outsideTouch在非全屏下位置偏离的问题
- 非常抱歉,因为自身原因没有查到此类错误,在收到反馈后我第一时间排查了所有类似的地方并逐一修复,这次重构的周期跨度较长,涉及板块较多,测试周期也很长,但因为个人精力有限仍然会有遗漏的地方。在此希望能够得到您的支持,尽量在Candy测试期及时反馈问题,减少此类问题的发生。
- 修复一个很严重的可能会导致崩溃的问题
-
【Release】2.2.2.1(2020/02/26)
- 修复输入法自动弹出后不能再次弹出的问题
-
【Release】2.2.2(2020/02/24)
- 发布2.2.2正式版,本版本是一个重构版本,请认真阅读更新日志哦
- 新增功能/特性:
- 新增
BaseLazyPopupWindow
,以后懒加载的PopupWindow只需要extend这个就可以了,旧版本的delayInit()
已经在该版本去除 - 增加BasePopup队列,针对outSideTouch优化
- 适配Android 10,解决Android 10黑/灰名单的问题
- 适配
match_parent
,现在match_parent
将会填充剩余空间 - 主体完全迁移至AndroidX,去除BasePopup扩展组件库,同时建议您尽快适配AndroidX
- 针对内存泄漏进行梳理,同时增加生命期监听,在
destroy
中会释放引用 - 增加对
dialog
/fragment
/dialogfragment
的支持 - 添加
setFitSize()
方法setFitSize()
:BasePopup会针对剩余空间来调整Popup的大小,因此可能出现实际显示过小的情况
- 优化QuickPopupBuilder
- 蒙层交回给系统托管,再也不用担心为啥全面屏无法全覆盖了
- 优化在
onCreate()
中弹窗无法弹出的问题- 采取#263的建议,非常感谢@xchengDroid提出的建议
- 增加
onLogInternal()
方法,您可以在这里打印BasePopupWindow执行期间的日志 - 增加
onViewCreated()
方法,您可以在这里对ContentView进行操作,或者使用ButterKnife进行注入
- 新增
- 精简:
- 去除onAnchorTop/onAnchorBottom方法,后续将会替换为别的方法
- 去除
limitScreen()
方法 - 去除扩展组件,现在主体支持AndroidX,同时不再支持Support包了
- bug fixed:
2.2.1
-
【Release】2.2.1(2019/06/24)
-
【Release】2.2.0(2019/05/15)
- 正式版2.2.0隆重归来,这次正式版又是一个重构版本哦~
- 优化输入法对齐逻辑
- 重构模糊逻辑:
- 经测试,720p的手机在默认参数下全屏模糊时间平均在6ms~16ms之间
- 增大默认参数的模糊程度
- 模糊淡入淡出时间跟随Popup的动画时间
- 修复模糊偶尔失效的情况
- 测量/布局相关:
- 重构测量逻辑:
- 现在在
clipToScreen
的情况下,会根据剩余空间对PopupDecor进行重新测量,以保证Popup完整的显示,如果您需要保持原始的测量值,请调用keepSize(true)
- 重构layout逻辑,针对outSideTouch优化
- 适配屏幕旋转,fix #180
- 采取flag代替各种boolean,清爽更简洁
- 减少冗余代码
- 现在在
- 重构测量逻辑:
- 优化相关:
- 增加GravityMode值,现在允许您配置
PopupGravity
的参考模式啦~- RELATIVE_TO_ANCHOR:默认模式,以Anchor为参考点,指定PopupWindow显示在Anchor的方位
- ALIGN_TO_ANCHOR_SIDE:对齐模式,以Anchor的边为参考点,指定PopupWindow的边与Anchor的哪条边对齐
- 增加minWidth/minHeight 方法,增加maxWidth/maxHeight 方法,让他们相互对应~
- 修复高度为match_parent和wrap_content的测量差异,现在可以安心地玩耍啦
- 部分Api标记过时:
setAllowDismissWhenTouchOutside-> setOutSideDismisssetAllowInterceptTouchEvent-> setOutSideTouchable
- 增加
setBackgroundView(View)
方法,现在BasePopup的背景控件可以随意由你定制啦~当然PopupWindow的背景动画控制方法依旧生效
- 增加GravityMode值,现在允许您配置
- 包拆分:
- 现在BasePopup将会进行包的拆分,源工程仅针对没有任何依赖的原生Android进行适配,如果您需要别的适配,请分别依赖以下模块或多个模块:
- 如果您需要
support
库的支持,比如DialogFragment支持,请依赖implementation 'com.github.razerdp:BasePopup-compat-support:{$latestVersion}'
- 如果您需要
lifecycle
库的支持,比如destroy里自动释放或者关闭等,请依赖implementation 'com.github.razerdp:BasePopup-compat-lifecycle:{$latestVersion}'
- 如果您需要
androidX
库的支持,请依赖implementation 'com.github.razerdp:BasePopup-compat-androidx:{$latestVersion}'
- 请注意,如果您依赖了androidX支持组件,请不要依赖另外两个支持组件,否则会冲突
- 如果您需要
- 现在BasePopup将会进行包的拆分,源工程仅针对没有任何依赖的原生Android进行适配,如果您需要别的适配,请分别依赖以下模块或多个模块:
- Bug fixed:
- Other:
- add 996 license