FloatingCommonController class

FloatingCommonController:对外提供的控制器 API

实现细节:控制器通过内部的 commands 流向 Floating 视图发送结构化命令。 视图订阅该流并在收到命令时执行。对于需要等待完成的操作(如动画), 控制器会创建一个 Completer 并将其放入命令中,视图在完成操作后调用 completer.complete(...)(可带返回值)。控制器在没有监听器的情况下 会立刻完成对应的 Future,避免调用者无限等待。

Constructors

FloatingCommonController()

Properties

commands Stream<_ControllerCommand>
控制器命令流(私有),供库内部的 FloatingView 订阅
no setter
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

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