diff --git a/lib/components/scroll.dart b/lib/components/scroll.dart index 053436e..9cbe82c 100644 --- a/lib/components/scroll.dart +++ b/lib/components/scroll.dart @@ -16,7 +16,14 @@ class SmoothCustomScrollView extends StatelessWidget { return CustomScrollView( controller: controller, physics: physics, - slivers: slivers, + slivers: [ + ...slivers, + SliverPadding( + padding: EdgeInsets.only( + bottom: context.padding.bottom, + ), + ), + ], ); }, ); @@ -87,7 +94,7 @@ class _SmoothScrollProviderState extends State { _controller.position.minScrollExtent, _controller.position.maxScrollExtent, ); - if(_futurePosition == old) return; + if (_futurePosition == old) return; _controller.animateTo(_futurePosition!, duration: _fastAnimationDuration, curve: Curves.linear); } diff --git a/lib/main.dart b/lib/main.dart index 305159b..9a7be51 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -178,11 +178,13 @@ class _SystemUiProvider extends StatelessWidget { systemUiStyle = SystemUiOverlayStyle.dark.copyWith( statusBarColor: Colors.transparent, systemNavigationBarColor: Colors.transparent, + systemNavigationBarIconBrightness: Brightness.dark, ); } else { systemUiStyle = SystemUiOverlayStyle.light.copyWith( statusBarColor: Colors.transparent, systemNavigationBarColor: Colors.transparent, + systemNavigationBarIconBrightness: Brightness.light, ); } return AnnotatedRegion( diff --git a/lib/pages/reader/scaffold.dart b/lib/pages/reader/scaffold.dart index a4db13a..69771ac 100644 --- a/lib/pages/reader/scaffold.dart +++ b/lib/pages/reader/scaffold.dart @@ -107,6 +107,11 @@ class _ReaderScaffoldState extends State<_ReaderScaffold> { } void openOrClose() { + if(!_isOpen) { + SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge); + } else { + SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersive); + } setState(() { _isOpen = !_isOpen; }); @@ -142,10 +147,9 @@ class _ReaderScaffoldState extends State<_ReaderScaffold> { ), AnimatedPositioned( duration: const Duration(milliseconds: 180), - bottom: _isOpen ? 0 : -(kBottomBarHeight + context.padding.bottom), + bottom: _isOpen ? 0 : -kBottomBarHeight, left: 0, right: 0, - height: kBottomBarHeight + context.padding.bottom, child: buildBottom(), ), ], @@ -200,7 +204,7 @@ class _ReaderScaffoldState extends State<_ReaderScaffold> { } Widget child = SizedBox( - height: kBottomBarHeight + MediaQuery.of(context).padding.bottom, + height: kBottomBarHeight, child: Column( children: [ const SizedBox(