Improved handling of AppBar's action
Icon sizes (#78886)
This commit is contained in:
parent
6c0c6d30a2
commit
35bffd20d4
@ -865,6 +865,7 @@ class _AppBarState extends State<AppBar> {
|
|||||||
if (hasDrawer) {
|
if (hasDrawer) {
|
||||||
leading = IconButton(
|
leading = IconButton(
|
||||||
icon: const Icon(Icons.menu),
|
icon: const Icon(Icons.menu),
|
||||||
|
iconSize: overallIconTheme.size ?? 24,
|
||||||
onPressed: _handleDrawerButton,
|
onPressed: _handleDrawerButton,
|
||||||
tooltip: MaterialLocalizations.of(context).openAppDrawerTooltip,
|
tooltip: MaterialLocalizations.of(context).openAppDrawerTooltip,
|
||||||
);
|
);
|
||||||
@ -938,6 +939,7 @@ class _AppBarState extends State<AppBar> {
|
|||||||
} else if (hasEndDrawer) {
|
} else if (hasEndDrawer) {
|
||||||
actions = IconButton(
|
actions = IconButton(
|
||||||
icon: const Icon(Icons.menu),
|
icon: const Icon(Icons.menu),
|
||||||
|
iconSize: overallIconTheme.size ?? 24,
|
||||||
onPressed: _handleDrawerButtonEnd,
|
onPressed: _handleDrawerButtonEnd,
|
||||||
tooltip: MaterialLocalizations.of(context).openAppDrawerTooltip,
|
tooltip: MaterialLocalizations.of(context).openAppDrawerTooltip,
|
||||||
);
|
);
|
||||||
|
@ -538,6 +538,78 @@ void main() {
|
|||||||
expect(yCenter(appBarKey), equals(yCenter(action1Key)));
|
expect(yCenter(appBarKey), equals(yCenter(action1Key)));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
testWidgets('AppBar drawer icon has default size', (WidgetTester tester) async {
|
||||||
|
await tester.pumpWidget(
|
||||||
|
MaterialApp(
|
||||||
|
home: Scaffold(
|
||||||
|
appBar: AppBar(
|
||||||
|
title: const Text('Howdy!'),
|
||||||
|
),
|
||||||
|
drawer: const Drawer(),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
final double iconSize = const IconThemeData.fallback().size!;
|
||||||
|
expect(
|
||||||
|
tester.getSize(find.byIcon(Icons.menu)),
|
||||||
|
equals(Size(iconSize, iconSize)),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
testWidgets('AppBar drawer icon is sized by iconTheme', (WidgetTester tester) async {
|
||||||
|
await tester.pumpWidget(
|
||||||
|
MaterialApp(
|
||||||
|
home: Scaffold(
|
||||||
|
appBar: AppBar(
|
||||||
|
title: const Text('Howdy!'),
|
||||||
|
iconTheme: const IconThemeData(size: 30),
|
||||||
|
),
|
||||||
|
drawer: const Drawer(),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
expect(
|
||||||
|
tester.getSize(find.byIcon(Icons.menu)),
|
||||||
|
equals(const Size(30, 30)),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
testWidgets('AppBar endDrawer icon has default size', (WidgetTester tester) async {
|
||||||
|
await tester.pumpWidget(
|
||||||
|
MaterialApp(
|
||||||
|
home: Scaffold(
|
||||||
|
appBar: AppBar(
|
||||||
|
title: const Text('Howdy!'),
|
||||||
|
),
|
||||||
|
endDrawer: const Drawer(),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
final double iconSize = const IconThemeData.fallback().size!;
|
||||||
|
expect(
|
||||||
|
tester.getSize(find.byIcon(Icons.menu)),
|
||||||
|
equals(Size(iconSize, iconSize)),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
testWidgets('AppBar endDrawer icon is sized by iconTheme', (WidgetTester tester) async {
|
||||||
|
await tester.pumpWidget(
|
||||||
|
MaterialApp(
|
||||||
|
home: Scaffold(
|
||||||
|
appBar: AppBar(
|
||||||
|
title: const Text('Howdy!'),
|
||||||
|
iconTheme: const IconThemeData(size: 30),
|
||||||
|
),
|
||||||
|
endDrawer: const Drawer(),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
expect(
|
||||||
|
tester.getSize(find.byIcon(Icons.menu)),
|
||||||
|
equals(const Size(30, 30)),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
testWidgets('leading button extends to edge and is square', (WidgetTester tester) async {
|
testWidgets('leading button extends to edge and is square', (WidgetTester tester) async {
|
||||||
await tester.pumpWidget(
|
await tester.pumpWidget(
|
||||||
MaterialApp(
|
MaterialApp(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user