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
【Candy开发记录】
- 【Candy】2.2.0-preview4(2019/05/14)
- 修复某些情况下模糊失效的问题
- 拆分依赖优化
- 【Candy】2.2.0-beta3(2019/05/10)
- 预计下周发布新版
- 重构模糊相关逻辑
- 经测试,全屏模糊在默认情况下控制到6ms~12ms之间
- 增大模糊程度~
- 【Candy】2.2.0-beta2(2019/05/08)
- 重构代码,使用flag代替各种boolean
- 屏幕旋转适配,fix #180
- 补全QuickPopupConfig配置
- 【Candy】2.2.0-beta(2019/05/07)
- 重构BasePopup测量与布局,减少冗余代码
- 增加GravityMode方法,现在允许您配置PopupGravity的参考模式
- RELATIVE_TO_ANCHOR:默认模式,以Anchor为参考点
- ALIGN_TO_ANCHOR_SIDE:对齐模式,以Anchor的边为参考点
- 增加minWidth/minHeight 方法,允许设置最小宽高
- fix #171、#181、#182、#183
- 去除高度match_parent和wrap_content的测量差异
- 部分Api标记过时:
setAllowDismissWhenTouchOutside-> setOutSideDismisssetAllowInterceptTouchEvent-> setOutSideTouchable
- 增加对Lifecycle的支持(如果需要混淆请混淆Lifecycle相关)
- 近期工作
- 近期很少更新,除了因为入职新公司外,更重要的是随着使用本库的开发者数量增多,一些遗留的bug出现越来也多,因此,为了更好地适应,决定开始了第三次重构。
- 本次重构大致构思以及内容:
- 保持现有Api,部分Api将会被记录过时(仍然可用),将会由新的Api代替
- 全面优化测量方法,解决遗留的问题
- 针对issue优化
- 去掉冗余代码
- 【Candy】2.2.0-alpha4(2019/04/17)
- fixed #164
- 优化测量逻辑,尝试修复wrap_content等高度问题
- 【Candy】2.2.0-alpha2(2019/03/21)
- 增加
setMaxWidth()
和setMaxHeight()
方法,想最大半屏显示?走起~
- 增加
- 【Candy】2.2.0-alpha(2019/03/21)
- 增加
setBackgroundView(View)
方法,现在BasePopup的背景控件可以随意由你定制啦~当然PopupWindow的背景动画控制方法依旧生效
- 增加
- 【other】
- add 996 license