|
88 | 88 | - 无论是[**Animation**](https://www.yuque.com/razerdp/basepopup/mg3bcw#onCreateShowAnimation)还是[**Animator**](https://www.yuque.com/razerdp/basepopup/mg3bcw#onCreateShowAnimator),只需要跟您平时一样写动画,就可以完成Popup的动效设计了,不需要xml不需要关心别的兼容性问题 |
89 | 89 | - 背景与主体分离,无论是[**背景模糊**](https://www.yuque.com/razerdp/basepopup/udccdq#12bedc89),亦或是[**背景颜色**](https://www.yuque.com/razerdp/basepopup/gscx3g#aiRz7),甚至[**把背景换成您的View**](https://www.yuque.com/razerdp/basepopup/gscx3g#e96cp),都可以通过简单的设置完成,主体与背景隔离,不用担心事件的问题 |
90 | 90 | - 还在为Popup的触摸事件头疼吗?BasePopup帮你解决烦恼~返回键控制、外部点击透传、点击外部是否消失都只需要您动动手指头完成配置即可 |
91 | | - - PopupWindow自动锚定AnchorView,滑动到屏幕外自动跟随AnchorView消失,不需要复杂的逻辑设置,只需要通过[**Link**](https://github.com/razerdp/BasePopup/wiki/API#linktoview-anchorview)方法告诉BasePopup |
| 91 | + - PopupWindow自动锚定AnchorView,滑动到屏幕外自动跟随AnchorView消失,不需要复杂的逻辑设置,只需要通过[**linkTo**](https://www.yuque.com/razerdp/basepopup/api)方法告诉BasePopup即可帮您完成 |
92 | 92 | - 简单的PopupWindow不想新建一个类,希望拥有链式调用?没问题,[**QuickPopupBuilder**](https://www.yuque.com/razerdp/basepopup/ob329t)为此而生,相信你会越用越爱~ |
93 | 93 |
|
94 | 94 | <br> |
|
133 | 133 |
|
134 | 134 | **Candy开发日志请查看dev分支**[**branch-dev**](https://github.com/razerdp/BasePopup/tree/dev) |
135 | 135 |
|
| 136 | +* **【Release】2.2.3**(2020/05/07) |
| 137 | + * 我们针对2.2.2系列问题进行了修复,同时增加了一些新的功能,欢迎更新到最新版本~ |
| 138 | + * **新增功能/方法:** |
| 139 | + * 新增`setPopupGravityMode()`:您可以单独设置BasePopup对齐方式而不需要始终带上Gravity |
| 140 | + * 新增`OnPopupWindowShowListener`接口:在BasePopup显示后回调该接口,当回调该方法时意味着弹窗已经完成,此时ui已经显示在屏幕上 |
| 141 | + * 新增`bindLifecycleOwner()`:您现在可以自由绑定您的LifecycleOwner |
| 142 | + * 新增`onPreShow()`回调:在BasePopup弹出之前回调该方法,如果返回false,则不会弹出 |
| 143 | + * 新增`onShowing()`回调:在BasePopup显示后回调该方法,当回调该方法时意味着弹窗已经完成,此时ui已经显示在屏幕上 |
| 144 | + * 新增`onPopupLayout()`回调:如果弹窗与锚点View关联,当BasePopup在布局的时候回调该方法,分别返回BasePopup在屏幕上的位置和锚点View在屏幕上的位置 |
| 145 | + * 新增`computeGravity()`:配套`onPopupLayout()`回调,计算BasePopup中心点在锚点View的方位。 |
| 146 | + * **弃用方法及更替:** |
| 147 | + * `BasePopupWindow#dismissWithOutAnimate()`,请使用**dismiss(false)** |
| 148 | + * `BasePopupWindow#setPopupWindowFullScreen()`,请使用**setOverlayStatusbar()** |
| 149 | + * `QuickPopupConfig#dismissOnOutSideTouch()`,请使用**outSideDismiss()** |
| 150 | + * `QuickPopupConfig#allowInterceptTouchEvent()`,请使用**outSideTouchable()** |
| 151 | + * **优化:** |
| 152 | + * 优化DecorView的查询方式,原逻辑会缓存下查询后的DecorView,但可能会因为该DecorView宿主已经销毁或者变更而导致显示错误 |
| 153 | + * 支持的最低版本降至Api 16 |
| 154 | + * 放弃反射WindowManager的方式,采取ContextWrapper代理,不再担心遭遇黑灰名单封锁了~感谢[@xchengDroid](https://github.com/xchengDroid)提供的方案 |
| 155 | + * **bug修复:** |
| 156 | + * 修复覆盖状态栏时事件传递存在偏移的情况 |
| 157 | + * 修复`isShowing()`存在空指针的情况(issue:[#267](https://github.com/razerdp/BasePopup/issues/267)) |
| 158 | + * 修复`setOverlayStatusbar(false)`情况下与Anchor关联时显示位置错误的问题 |
| 159 | + * 修复部分引用没有置空导致**可能**存在的内存泄漏问题(事实上并没发现泄漏) |
| 160 | + * 修复BasePopup弹出时,Activity弹出的输入法显示在BasePopup下层的问题 |
| 161 | + * 修复全屏Activity判断错误的问题 |
| 162 | + * 修复QuickPopupConfig配置缺漏的问题 |
| 163 | + * 修复未弹窗时直接调用dismiss(),然后首次调用showPopupWindow()失效的问题 |
| 164 | + * fixed issue:[#224](https://github.com/razerdp/BasePopup/issues/224) |
| 165 | + |
136 | 166 | * **【Release】2.2.2.2**(2020/03/01) |
137 | 167 | * 修复一个很严重的可能会导致崩溃的问题 |
138 | 168 | * 重现方式:dismiss动画没执行完的情况下finish了activity,会引发空指针崩溃 |
|
145 | 175 | * **【Release】2.2.2.1**(2020/02/26) |
146 | 176 | * 修复输入法自动弹出后不能再次弹出的问题 |
147 | 177 |
|
148 | | -* **【Release】2.2.2**(2020/02/24) |
149 | | - * 发布2.2.2正式版,**本版本是一个重构版本,请认真阅读更新日志哦** |
150 | | - * **新增功能/特性:** |
151 | | - * 新增 `BaseLazyPopupWindow`,以后懒加载的PopupWindow只需要extend这个就可以了,旧版本的`delayInit()`已经在该版本去除 |
152 | | - * 增加BasePopup队列,针对outSideTouch优化 |
153 | | - * 适配Android 10,解决Android 10黑/灰名单的问题 |
154 | | - * 适配`match_parent`,现在`match_parent`将会填充剩余空间 |
155 | | - * 主体完全迁移至AndroidX,去除BasePopup扩展组件库,同时建议您尽快适配AndroidX |
156 | | - * 针对内存泄漏进行梳理,同时增加生命期监听,在`destroy`中会释放引用 |
157 | | - * 增加对`dialog`/`fragment`/`dialogfragment`的支持 |
158 | | - * 添加`setFitSize()`方法 |
159 | | - * `setFitSize()`:BasePopup会针对剩余空间来调整Popup的大小,因此可能出现实际显示过小的情况 |
160 | | - * 优化QuickPopupBuilder |
161 | | - * 蒙层交回给系统托管,再也不用担心为啥全面屏无法全覆盖了 |
162 | | - * 优化在`onCreate()`中弹窗无法弹出的问题 |
163 | | - * 采取[#263](https://github.com/razerdp/BasePopup/issues/263)的建议,非常感谢[@xchengDroid](https://github.com/xchengDroid)提出的建议 |
164 | | - * 增加`onLogInternal()`方法,您可以在这里打印BasePopupWindow执行期间的日志 |
165 | | - * 增加`onViewCreated()`方法,您可以在这里对ContentView进行操作,或者使用ButterKnife进行注入 |
166 | | - * **精简:** |
167 | | - * 去除onAnchorTop/onAnchorBottom方法,后续将会替换为别的方法 |
168 | | - * 去除`limitScreen()`方法 |
169 | | - * 去除扩展组件,现在主体支持AndroidX,同时不再支持Support包了 |
170 | | - * **bug fixed:** |
171 | | - * fixed [#184](https://github.com/razerdp/BasePopup/issues/184)、[#207](https://github.com/razerdp/BasePopup/issues/207)、[#210](https://github.com/razerdp/BasePopup/issues/210) |
172 | | - * fixed [#213](https://github.com/razerdp/BasePopup/issues/213)、[#226](https://github.com/razerdp/BasePopup/issues/226)、[#232](https://github.com/razerdp/BasePopup/issues/232) |
173 | | - * fixed [#236](https://github.com/razerdp/BasePopup/issues/236)、[#238](https://github.com/razerdp/BasePopup/issues/238)、[#240](https://github.com/razerdp/BasePopup/issues/240) |
174 | | - * fixed [#242](https://github.com/razerdp/BasePopup/issues/242)、[#244](https://github.com/razerdp/BasePopup/issues/244)、[#247](https://github.com/razerdp/BasePopup/issues/247) |
175 | | - * fixed [#248](https://github.com/razerdp/BasePopup/issues/248)、[#249](https://github.com/razerdp/BasePopup/issues/249)、[#260](https://github.com/razerdp/BasePopup/issues/260) |
176 | | - * fixed [#262](https://github.com/razerdp/BasePopup/issues/262)、[#263](https://github.com/razerdp/BasePopup/issues/263) |
177 | | - |
178 | 178 | <br> |
179 | 179 |
|
180 | 180 | ### 例子预览 |
|
0 commit comments