0.0.50正式版本发布
0.0.50
- DialogX 增加 autoGC 开关,控制销毁对话框时自动回收内存;
- 修复使用bindDismissWithLifecycleOwner可能因activity生命周期为Stop导致对话框错误关闭的情况。
0.0.50.beta39测试版本更新
- 所有对话框增加
setCustomDialogLayoutResId(layoutResId)
或setCustomDialogLayoutResId(layoutResId, isLightTheme)
用于单次修改对话框根布局样式,自定义对话框样式更灵活; - 修复BottomMenu和MessageMenu可能因主题版本不一致存在的空指针问题;
- 修复高频重复执行 WaitDialog/TipDialog 状态切换可能导致动画卡住的问题;
- 修复队列对话框无法正常执行的问题;
0.0.50.beta38 测试版本更新
- 修复了 PopMenu 设置菜单文字颜色无效的问题;
- 修复 PopMenu 在 iOS 和 kongzue 注意下文本位置偏右的问题;
- 修复 CustomDialog 在
setAlign(CustomDialog.ALIGN.LEFT_CENTER)
或者setAlign(CustomDialog.ALIGN.LEFT)
存在的位置显示异常 bug,感谢 issues #507 的反馈;
0.0.50.beta37测试版本更新
- CustomDialog 增加了
setMaxWidth
、setMaxHeight
、setMinHeight
、setMinWidth
接口; - BottomDialog 增加了支持直接设置 ok、cancel 按钮的启动静态方法;
- 修复 FullScreenDialog 在特定情况下显示时会闪烁的问题;
0.0.50.beta36测试版本更新
- 修复 PopTip 和 PopNotification 通过
.show(activity)
指定要显示到 activity 无效问题; - PopMenu 增加了
.show(activity)
方法;
0.0.50.beta35测试版本更新
- Lifecycle.State.DESTROYED 时机调整到销毁 dialogImpl 之前;
- CustomDialog 中监听 baseView 位置变化的 OnDrawListener 修改为 OnPreDrawListener 以解决部分系统存在的兼容性问题;
- BaseDialog 新增 callDialogDismiss() 用于调用对应对话框实例的 dismiss()
- 新增 bindDismissWithLifecycleOwner(LifecycleOwner) 用于绑定具备特定生命周期的组件,当组件关闭时自动关闭对话框;
- PopTip 增加了限制最大可显示数量设置,例如限制只能显示最多四个提示
PopTip.maxShowCount = 4;
; - PopTip 增加了让位位移动画控制拦截器 PopMoveDisplacementInterceptor,可通过
PopTip.moveDisplacementInterceptor
进行设置; - PopNotification 增加了限制最大可显示数量设置,例如限制只能显示最多四个提示
PopNotification.maxShowCount = 4;
; - PopNotification 增加了让位位移动画控制拦截器 PopMoveDisplacementInterceptor,可通过
PopNotification.moveDisplacementInterceptor
进行设置; - PopMenu、BottomMenu、MessageMenu 增加了菜单分割线设置:
.setItemDivider(ItemDivider)
,其中ItemDivider 提供了 left(左边距(dp))、right(右边距(dp))、color(颜色)设置项,可通过对应的 set 方法进行设置,颜色设置中支持指定亮暗色模式(参数 light)单独设置不同的颜色;
0.0.50.beta33测试版本更新
0.0.50.beta33
- 新增预置动作功能,可以在任何时候为 Dialog 设置动作,例如:
//比如在对话框启动时预置了动作1
.onShow(new DialogXRunnable<MessageDialog>() {
@Override
public void run(MessageDialog dialog) {
tip("onShow");
//预置操作:动作1
dialog.setActionRunnable(1, new DialogXRunnable<MessageDialog>() {
@Override
public void run(MessageDialog dialog) {
tip("action 1 run!");
//举例:需要通过网络加载数据到 dialog 中显示
}
});
//执行动作1
dialog.runAction(1);
}
})
在需要时触发该动作执行:
//在用户点击OK按钮时重新触发动作1执行
.setOkButton(new OnDialogButtonClickListener<MessageDialog>() {
@Override
public boolean onClick(MessageDialog dialog, View v) {
//举例:点击ok按钮后执行了一些操作但需要在不关掉对话框情况下重新加载执行动作1
//执行动作1
dialog.runAction(1);
return true;
}
});
此功能适用于需要执行的动作代码处于非同一层级又不好封装提取成全局方法,而在不用时间需要触发执行时使用。
0.0.50.beta32测试版本更新
- 修复了一个关于 FitSystemBarUtils 的空指针异常,issues: #485
0.0.50.beta31测试版本更新
- 增加了 Android 14 debug 模式卡顿的提示,此问题系系统原因而非 DialogX 的问题,详情:https://xiaozhuanlan.com/topic/1023694578
- 修复 FitSystemBarUtils 可能存在的因 OnGlobalLayoutListener 引发的内存泄漏问题;
0.0.50.beta30测试版本更新
- 修复 inputInfo 指定最大长度时可能导致 InputDialog 输入框无法选中、输入法无法弹出的问题,其本质原因为:在指定 MAX_LENGTH 时需要设置 inputType 包含 InputType.TYPE_CLASS_TEXT,否则设置无法生效,InputFilter.LengthFilter 必须配合 TYPE_CLASS_TEXT 使用,但强制设置 InputType.TYPE_CLASS_TEXT 又会导致设置 inputType 为 InputType.TYPE_CLASS_NUMBER 时可以输入除数字以外的小数点,这不符合预期,目前的修复方案为检查是否包含有效的类标志,如果没有设置有效的类标志,默认添加 TYPE_CLASS_TEXT 来避免出现问题,详见 MessageDialog.java:683~693 测试可以兼容两种情况以解决问题。
- 修复 DialogXStyle 的错误更新;