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 -> setOutSideDismiss
      • setAllowInterceptTouchEvent -> setOutSideTouchable
    • 增加setBackgroundView(View)方法,现在BasePopup的背景控件可以随意由你定制啦~当然PopupWindow的背景动画控制方法依旧生效
  • 包拆分:
    • 现在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支持组件,请不要依赖另外两个支持组件,否则会冲突
  • 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 -> setOutSideDismiss
      • setAllowInterceptTouchEvent -> 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