FloatingCommonController class
FloatingCommonController:对外提供的控制器 API
实现细节:控制器通过内部的 commands 流向 Floating 视图发送结构化命令。 视图订阅该流并在收到命令时执行。对于需要等待完成的操作(如动画), 控制器会创建一个 Completer 并将其放入命令中,视图在完成操作后调用 completer.complete(...)(可带返回值)。控制器在没有监听器的情况下 会立刻完成对应的 Future,避免调用者无限等待。
Constructors
Properties
Methods
-
autoSnapEdge(
{SnapEdgeType type = SnapEdgeType.snapEdgeAuto}) → void -
自动吸边,调用后,悬浮窗会自动滑动到屏幕边缘
type:吸边类型,默认为 SnapEdgeType.snapEdgeAuto 注意:此方法在悬浮窗没有吸边时有效,如果悬浮窗已经吸边,则不会有任何效果 -
currentPosition(
) → Future< FPosition< double> ?> - 获取 Floating 位置(异步实现):发送 setPoint 命令并等待视图返回 Point
-
dispose(
) → void - 关闭内部流,控制器不再使用时调用
-
getSnapToEdgeSpace(
) → Future< double> - 获取吸附后回弹至与边缘的距离
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
scrollBottom(
double bottom) → Future< void> -
从当前滑动到距离底部
bottom的位置 -
scrollBottomLeft(
double bottom, double left) → Future< void> -
从当前滑动到距离底部
bottom和左边left的位置 -
scrollBottomRight(
double bottom, double right) → Future< void> -
从当前滑动到距离底部
bottom和右边right的位置 -
scrollBy(
double x, double y) → Future< void> -
从当前位置偏移
offset的位置滑动 -
scrollLeft(
double left) → Future< void> -
从当前滑动到距离左边
left的位置 -
scrollRight(
double right) → Future< void> -
从当前滑动到距离右边
right的位置 -
scrollSnapToEdgeSpaceToggle(
) → Future< void> - 配合FloatingParams.snapToEdgeSpace使用 若设置了边缘吸附距离,调用此方法,可在(切边)到该距离之间切换吸附位置 例如:当 snapToEdgeSpace 为 -20,则调用此方法后,会从 -20 滑动到 0 位置, 重复调用则会从 0 滑动到 -20 位置 注意1:此方法仅在设置了 snapToEdgeSpace 后有效 注意2:此方法不会触发自动吸边逻辑,仅在当前位置与边缘距离在 snapToEdgeSpace 范围内切换 注意3:如果当前位置不在边缘 和 snapToEdgeSpace 位置,调用此方法不会有任何效果
-
scrollTime(
int millis) → void - 设置滑动时间,单位毫秒(同步命令)
-
scrollTop(
double top) → Future< void> -
从当前滑动到距离顶部
top的位置 -
scrollTopLeft(
double top, double left) → Future< void> -
从当前滑动到距离顶部
top和左边left的位置 -
scrollTopRight(
double top, double right) → Future< void> -
从当前滑动到距离顶部
top和右边right的位置 -
setDragEnable(
bool enable) → Future< void> - 设置是否允许拖动(运行时切换)
-
setFloatingHide(
bool isHide) → Future< void> - 设置隐藏
-
setSnapToEdgeSpace(
double space) → void - 设置吸附后回弹至与边缘的距离,正值限制在内、负值允许超出。 同FloatingParams.snapToEdgeSpace
-
setWAndH(
double width, double height) → void -
设置宽高以适应悬浮窗位置,在悬浮窗宽高改变时调用
width:宽度height:高度 在即将修改大小时,请调用此方法通知悬浮窗进行大小调整,以自适应悬浮窗位置。 ps:此方法非必须调用,悬浮窗会监听组件大小自动调整。 但是监听大小意味着是在宽高变化之后才调整位置,部分情况下可能会有一帧的闪烁。 调用此方法可以在宽高变化之前就调整位置,避免闪烁。 -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited