Skip to content

Commit

Permalink
[flutter_adaptive_scaffold] Fix top padding for NavigationBar (#4661)
Browse files Browse the repository at this point in the history
This pr removes the top padding in `MediaQuery` for NavigationBar to fix unexpected padding.
The `Scaffold` in flutter framework actually did this but this package didn't.

Fix flutter/flutter#127088
  • Loading branch information
ctrysbita committed Aug 22, 2023
1 parent 354af05 commit c6f758b
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 10 deletions.
3 changes: 2 additions & 1 deletion packages/flutter_adaptive_scaffold/AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
#
# Name/Organization <email address>

Google Inc.
Google Inc.
Jason C.H <ctrysbita@outlook.com>
5 changes: 3 additions & 2 deletions packages/flutter_adaptive_scaffold/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
## NEXT
## 0.1.7

* Fix top padding for NavigationBar.
* Updates minimum supported SDK version to Flutter 3.7/Dart 2.19.

## 0.1.6
Expand All @@ -15,7 +16,7 @@
## 0.1.4

* Use Material 3 NavigationBar instead of BottomNavigationBar

## 0.1.3

* Fixes `groupAlignment` property not available in `standardNavigationRail` - [flutter/flutter#121994](https://github.com/flutter/flutter/issues/121994)
Expand Down
15 changes: 10 additions & 5 deletions packages/flutter_adaptive_scaffold/lib/src/adaptive_scaffold.dart
Original file line number Diff line number Diff line change
Expand Up @@ -328,20 +328,25 @@ class AdaptiveScaffold extends StatefulWidget {
final NavigationBarThemeData currentNavBarTheme =
NavigationBarTheme.of(context);
return NavigationBarTheme(
data: currentNavBarTheme.copyWith(
iconTheme: MaterialStateProperty.resolveWith(
(Set<MaterialState> states) {
data: currentNavBarTheme.copyWith(
iconTheme: MaterialStateProperty.resolveWith(
(Set<MaterialState> states) {
return currentNavBarTheme.iconTheme
?.resolve(states)
?.copyWith(size: iconSize) ??
IconTheme.of(context).copyWith(size: iconSize);
}),
},
),
),
child: MediaQuery(
data: MediaQuery.of(context).removePadding(removeTop: true),
child: NavigationBar(
selectedIndex: currentIndex ?? 0,
destinations: destinations,
onDestinationSelected: onDestinationSelected,
));
),
),
);
},
);
}
Expand Down
2 changes: 1 addition & 1 deletion packages/flutter_adaptive_scaffold/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: flutter_adaptive_scaffold
description: Widgets to easily build adaptive layouts, including navigation elements.
version: 0.1.6
version: 0.1.7
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+flutter_adaptive_scaffold%22
repository: https://github.com/flutter/packages/tree/main/packages/flutter_adaptive_scaffold

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,10 @@ enum SimulatedLayout {
),
),
home: MediaQuery(
data: MediaQueryData(size: size),
data: MediaQueryData(
size: size,
padding: const EdgeInsets.only(top: 30),
),
child: TestScaffold(
initialIndex: initialIndex,
isAnimated: animations,
Expand Down

0 comments on commit c6f758b

Please sign in to comment.