showButton static method
dynamic
showButton(
{ - bool forceInReleaseMode = false,
})
Implementation
static showButton({bool forceInReleaseMode = false}) {
if (kReleaseMode && !forceInReleaseMode) return;
if (NavigatorInstance.navigatorKey.currentState == null) return;
Future.delayed(Duration.zero, () {
try {
final size = NavigatorInstance.navigatorKey.currentState?.context.size;
final double width = size?.width ?? 200;
final double height = size?.height ?? 250;
_buttonOverlayOffset ??= Offset(width - 100, height - 100);
_buttonOverlay ??= OverlayEntry(
maintainState: true,
opaque: false,
builder: (context) {
return Positioned(
top: _buttonOverlayOffset!.dy,
left: _buttonOverlayOffset!.dx,
child: Draggable(
onDragEnd: (DraggableDetails detail) =>
_buttonOverlayOffset = detail.offset,
childWhenDragging: Container(),
child: _floatButton,
feedback: _floatButton,
));
},
);
final overlay = NavigatorInstance.navigatorKey.currentState?.overlay;
overlay?.insert(_buttonOverlay!);
} catch (_) {}
});
}