fixed scroll view bottom padding for nav bar

This commit is contained in:
Thibault Deckers 2022-05-09 10:17:35 +09:00
parent 66b57d9875
commit 4759fd52f2
4 changed files with 34 additions and 1 deletions

View file

@ -31,6 +31,7 @@ import 'package:aves/widgets/common/identity/scroll_thumb.dart';
import 'package:aves/widgets/common/providers/tile_extent_controller_provider.dart';
import 'package:aves/widgets/common/thumbnail/decorated.dart';
import 'package:aves/widgets/common/tile_extent_controller.dart';
import 'package:aves/widgets/navigation/nav_bar/nav_bar.dart';
import 'package:flutter/material.dart';
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
import 'package:provider/provider.dart';
@ -386,6 +387,7 @@ class _CollectionScrollViewState extends State<_CollectionScrollView> {
child: _buildEmptyCollectionPlaceholder(collection),
)
: const SectionedListSliver<AvesEntry>(),
const NavBarPaddingSliver(),
const BottomPaddingSliver(),
],
);

View file

@ -547,6 +547,7 @@ class _FilterScrollView<T extends CollectionFilter> extends StatelessWidget {
)
: SectionedListSliver<FilterGridItem<T>>();
}),
const NavBarPaddingSliver(),
const BottomPaddingSliver(),
],
);

View file

@ -22,6 +22,10 @@ class AppBottomNavBar extends StatelessWidget {
this.currentCollection,
}) : super(key: key);
static const padding = EdgeInsets.all(8);
static double get height => kBottomNavigationBarHeight + padding.vertical;
@override
Widget build(BuildContext context) {
const borderRadius = BorderRadius.all(Radius.circular(8));
@ -37,7 +41,7 @@ class AppBottomNavBar extends StatelessWidget {
];
Widget child = Padding(
padding: const EdgeInsets.all(8),
padding: padding,
child: BlurredRRect(
enabled: blurred,
borderRadius: borderRadius,
@ -115,3 +119,19 @@ class AppBottomNavBar extends StatelessWidget {
);
}
}
class NavBarPaddingSliver extends StatelessWidget {
const NavBarPaddingSliver({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return SliverToBoxAdapter(
child: Selector<Settings, bool>(
selector: (context, s) => s.showBottomNavigationBar,
builder: (context, showBottomNavigationBar, child) {
return SizedBox(height: showBottomNavigationBar ? AppBottomNavBar.height : 0);
},
),
);
}
}

View file

@ -6,6 +6,11 @@
"settingsThumbnailShowTagIcon"
],
"es": [
"settingsShowBottomNavigationBar",
"settingsThumbnailShowTagIcon"
],
"fr": [
"settingsSearchFieldLabel",
"settingsSearchEmpty",
@ -20,6 +25,11 @@
"settingsThumbnailShowTagIcon"
],
"it": [
"settingsShowBottomNavigationBar",
"settingsThumbnailShowTagIcon"
],
"ja": [
"entryActionShowGeoTiffOnMap",
"entryActionConvertMotionPhotoToStillImage",