mirror of
https://github.com/flutter/flutter
synced 2024-10-13 11:42:54 +00:00
Use adaptive more icon for popup_menu (#70773)
This commit is contained in:
parent
8522ec7e11
commit
a508d358ca
|
@ -1102,20 +1102,6 @@ class PopupMenuButtonState<T> extends State<PopupMenuButton<T>> {
|
|||
}
|
||||
}
|
||||
|
||||
Icon _getIcon(TargetPlatform platform) {
|
||||
assert(platform != null);
|
||||
switch (platform) {
|
||||
case TargetPlatform.android:
|
||||
case TargetPlatform.fuchsia:
|
||||
case TargetPlatform.linux:
|
||||
case TargetPlatform.windows:
|
||||
return const Icon(Icons.more_vert);
|
||||
case TargetPlatform.iOS:
|
||||
case TargetPlatform.macOS:
|
||||
return const Icon(Icons.more_horiz);
|
||||
}
|
||||
}
|
||||
|
||||
bool get _canRequestFocus {
|
||||
final NavigationMode mode = MediaQuery.maybeOf(context)?.navigationMode ?? NavigationMode.traditional;
|
||||
switch (mode) {
|
||||
|
@ -1146,7 +1132,7 @@ class PopupMenuButtonState<T> extends State<PopupMenuButton<T>> {
|
|||
);
|
||||
|
||||
return IconButton(
|
||||
icon: widget.icon ?? _getIcon(Theme.of(context).platform),
|
||||
icon: widget.icon ?? Icon(Icons.adaptive.more),
|
||||
padding: widget.padding,
|
||||
tooltip: widget.tooltip ?? MaterialLocalizations.of(context).showMenuTooltip,
|
||||
onPressed: widget.enabled ? showButtonMenu : null,
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
import 'dart:ui' show window, SemanticsFlag;
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:flutter/gestures.dart';
|
||||
import 'package:flutter/rendering.dart';
|
||||
|
@ -368,8 +369,8 @@ void main() {
|
|||
|
||||
testWidgets('PopupMenuButton is horizontal on iOS', (WidgetTester tester) async {
|
||||
Widget build(TargetPlatform platform) {
|
||||
debugDefaultTargetPlatformOverride = platform;
|
||||
return MaterialApp(
|
||||
theme: ThemeData(platform: platform),
|
||||
home: Scaffold(
|
||||
appBar: AppBar(
|
||||
actions: <Widget>[
|
||||
|
@ -405,6 +406,8 @@ void main() {
|
|||
|
||||
expect(find.byIcon(Icons.more_vert), findsNothing);
|
||||
expect(find.byIcon(Icons.more_horiz), findsOneWidget);
|
||||
|
||||
debugDefaultTargetPlatformOverride = null;
|
||||
});
|
||||
|
||||
group('PopupMenuButton with Icon', () {
|
||||
|
|
Loading…
Reference in a new issue