Skip to content

Releases: Petterpx/FloatingX

1.2.4

Choose a tag to compare

@Petterpx Petterpx released this 02 Apr 11:24
d5e4f75

相比 1.2.3 做了什么更改?

功能增强与代码清洁 👷🏻‍♂️

  • FxManagerView 新增了 moveLocation() 与 moveLocationByVector(),用于移动浮窗到指定位置或者按照指定向量移动浮窗位置 ,使用该方法,Fx将帮你处理边界问题,并且支持动画效果;
  • 移除了 setEnableAbsoluteFix() 系列方法,现在框架会自动监听屏幕改变,从而更新浮窗位置;

Fix

  • 修复浮窗屏幕旋转后,历史位置恢复异常;
  • 修复屏幕大小变化时,浮窗位置的更新逻辑;
    #85 #82 #67
    @Petterpx

1.2.3

Choose a tag to compare

@Petterpx Petterpx released this 08 Mar 14:37
9eb81ab

相比 1.2.1 做了什么更改?

功能增强

  • FloatingX.isInstalled() 增加方法参数默认值,默认为 FX_DEFAULT_TAG;

修复了以下问题

  • 自定义view设置的浮窗,layoutparams逻辑异常,导致无法设置大小;
  • 修复日志tag输出样式错误;
    #79

@Petterpx

1.2.2

Choose a tag to compare

@Petterpx Petterpx released this 19 Feb 12:45
1c129bf

相比 1.2.1 做了什么更改?

  • 全局浮窗现在show()方法必须传递activity;

关于全局浮窗show()方法的移除通知

在历史版本中,为了免除show()时需要传递activity,我们在app初始化时维护了一个全局的lifecycle,以此来获得一个永久、可靠的栈顶activity。相应的,该监听器也并没有提供手动解绑方法(考虑到解绑后,后续show()方法不可靠),尽管对性能几乎没有影响,但这种方式属于为了方便而牺牲标准。

故此,从 1.2.2 开始,全局浮窗的show()方法已被移除,您必须使用show(activity)替代该方法,以此来保证可靠性。

关于全局lifecycle监听器什么时候应该被清除

您不必关心其该什么时候解除绑定,具体如下:

  • 当您的所有全局浮窗被cancel(),或者您调用Floatingx.uninstallAll()卸载所有全局浮窗时,该监听器将自动解绑并销毁;
  • 当浮窗首次show(activity)时,我们将再次插入该监听器。

这些方法已移除

  • FloatingX.release() 方法目前已移除,如上所述,Fx不希望调用方去关注这个行为;
  • 全局浮窗的show();

修复了以下问题

  • 当浮窗隐藏-hide()时,cancel()不生效;
  • 重复插入同一个tag对应的浮窗时的逻辑问题;
    @Petterpx

1.2.1

Choose a tag to compare

@Petterpx Petterpx released this 11 Feb 16:03
b9a4306

相比1.1.7做了什么更改?

  • 全局浮窗支持多浮窗;
  • 修复浮窗view更新后,显示位置未及时刷新;

这些方法已废弃

  • FloatingX.init() 方法目前已废弃,建议使用 FloatingX.install();

关于多浮窗的更新

目前FloatingX已经支持全局多浮窗,您可以通过 FloatingX.install() 安装浮窗时,AppHelper.Builder 中调用setTag(),设置浮窗tag。

注意:浮窗tag 是用于获取浮窗控制器的关键key。
当您使用 FloatingX.control() 调用全局浮窗控制器时,现在支持传递tag进去,从而获取指定的浮窗控制器,默认情况下使用的是默认浮窗。

关于旧版本的兼容

旧Api调用无任何影响,需要注意的是 FloatingX.init() 方法,目前已经处于废弃状态,请您知晓。
注意:如果您只需要一个全局浮窗,那么无需关注本次tag的新增。历史相应的控制方法,比如control() 目前都携带了默认参数,Fx会使用默认tag来作为您的浮窗标记,请您了解技术原理。

全局浮窗新增了以下方法

  • FloatingX.control(tag:String) 获取指定浮窗控制器
  • FloatingX.controlOrNull(tag:String) 获取指定浮窗配置控制器(可null)
  • FloatingX.configControl(tag:String) 获取指定浮窗控制器
  • FloatingX.configControlOrNull(tag:String) 获取指定浮窗配置控制器(可null)
  • FloatingX.uninstallAll() 用于卸载所有全局浮窗;
    #68
    @Petterpx

1.1.7

Choose a tag to compare

@Petterpx Petterpx released this 10 Jan 02:00
4496391

相比1.1.6做了什么更改?

  • view方式的浮窗取消弱引用
  • 优化了部分代码逻辑

#66
@Petterpx

1.1.6

Choose a tag to compare

@Petterpx Petterpx released this 01 Jan 02:24
6d0042a

相比1.1.4做了什么更改?

  • 调整了 hide() 方法逻辑
  • 调整了build的配置逻辑,修复version在打包时的错误

#64
@Petterpx

1.1.4

Choose a tag to compare

@Petterpx Petterpx released this 06 Dec 15:31
ea98dd2

相比1.1.3新增了以下功能:
FxGravity 新增居中位置,具体如下:

  • CENTER 居中
  • TOP_OR_CENTER 顶部居中
  • BOTTOM_OR_CENTER 底部居中
  • LEFT_OR_CENTER 左侧居中(原有)
  • RIGHT_OR_CENTER 右侧居中(原有)

1.1.3

Choose a tag to compare

@Petterpx Petterpx released this 21 Nov 03:28
58eb89f

相比1.1.2修复了以下问题:

  • 修复gravity逻辑异常 #59
  • 修复局部浮窗插入时无法控制gravity,已调整api

相比1.1.2 调整了以下api:
局部浮窗(不包含Activity级别)现在插入时调整 group 为FrameLayout

构建工具现在支持自动版本。

1.1.2

Choose a tag to compare

@Petterpx Petterpx released this 26 Oct 14:20
70bb99c

fix: 浮窗容器没有背景色导致某些情况下无法显示

1.1.1

Choose a tag to compare

@Petterpx Petterpx released this 26 Oct 10:35
ecd2a30

相比1.1.0做了什么改变?

  • 调整了手势事件的判断逻辑,效率更高

更改或删除了以下api

  • 运行时配置更新IFxConfigHelper接口重名为IFxConfigControl;
  • 移除了updateManagerParams(),后续可以通过getManagerView()自行设置;
  • 更新 updateManagerView() 为 updateView(),便于更新View视图。更接近语义;
  • 更新 updateView() 为 updateContentView(),从而实现更新内容viewid;
  • 移除 ktx部分扩展,后续统一使用 createFx 创建;
  • 部分 api 方法禁止在Java生成。