Use Overlay to wrap RemoteToolbar to enable rebuild everytime on click

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou 2023-08-24 14:40:02 +08:00
parent 56ff88934f
commit 9937650062

View File

@ -238,6 +238,14 @@ class _RemotePageState extends State<RemotePage>
);
Widget buildBody(BuildContext context) {
remoteToolbar(BuildContext context) => RemoteToolbar(
id: widget.id,
ffi: _ffi,
state: widget.toolbarState,
onEnterOrLeaveImageSetter: (func) =>
_onEnterOrLeaveImage4Toolbar = func,
onEnterOrLeaveImageCleaner: () => _onEnterOrLeaveImage4Toolbar = null,
);
return Scaffold(
backgroundColor: Theme.of(context).colorScheme.background,
body: Stack(
@ -272,15 +280,12 @@ class _RemotePageState extends State<RemotePage>
_ffi.ffiModel.waitForFirstImage.isTrue
? emptyOverlay()
: Offstage(),
RemoteToolbar(
id: widget.id,
ffi: _ffi,
state: widget.toolbarState,
onEnterOrLeaveImageSetter: (func) =>
_onEnterOrLeaveImage4Toolbar = func,
onEnterOrLeaveImageCleaner: () =>
_onEnterOrLeaveImage4Toolbar = null,
),
// Use Overlay to enable rebuild every time on menu button click.
_ffi.ffiModel.pi.isSet.isTrue
? Overlay(initialEntries: [
OverlayEntry(builder: remoteToolbar)
])
: remoteToolbar(context),
_ffi.ffiModel.pi.isSet.isFalse ? emptyOverlay() : Offstage(),
],
)),