diff --git a/lib/editors/scaffold.dart b/lib/editors/scaffold.dart index 4b450a4e..8bab761f 100644 --- a/lib/editors/scaffold.dart +++ b/lib/editors/scaffold.dart @@ -58,9 +58,8 @@ class _EditorScaffoldState extends State { return Scaffold( body: Column( children: [ - AnimatedOpacity( - duration: const Duration(milliseconds: 500), - opacity: hideUIElements ? 0.0 : 1.0, + _AnimatedOpacityIgnorePointer( + visible: !hideUIElements, child: EditorAppBar( editor: widget.editor, editorState: widget.editorState, @@ -81,9 +80,8 @@ class _EditorScaffoldState extends State { behavior: HitTestBehavior.translucent, ), ), - AnimatedOpacity( - duration: const Duration(milliseconds: 500), - opacity: hideUIElements ? 0.0 : 1.0, + _AnimatedOpacityIgnorePointer( + visible: !hideUIElements, child: EditorBottomBar( editor: widget.editor, editorState: widget.editorState, @@ -107,3 +105,23 @@ class _EditorScaffoldState extends State { ); } } + +class _AnimatedOpacityIgnorePointer extends StatelessWidget { + final bool visible; + final Widget child; + + _AnimatedOpacityIgnorePointer({@required this.visible, @required this.child}); + + @override + Widget build(BuildContext context) { + var opacity = visible ? 1.0 : 0.0; + return IgnorePointer( + ignoring: !visible, + child: AnimatedOpacity( + duration: const Duration(milliseconds: 500), + opacity: opacity, + child: child, + ), + ); + } +}