Support materialTapTargetSize in PopupMenuButton#158357
Support materialTapTargetSize in PopupMenuButton#158357hannah-hyj merged 4 commits intoflutter:masterfrom
Conversation
QuncCccccc
left a comment
There was a problem hiding this comment.
LGTM! Thanks for the fix!
| child: widget.child, | ||
| ), | ||
| ); | ||
| final MaterialTapTargetSize tapTargetSize = widget.style?.tapTargetSize ?? MaterialTapTargetSize.shrinkWrap; |
There was a problem hiding this comment.
I think here we can default to the ThemeData.materialTapTargetSize value. Then here would be final MaterialTapTargetSize tapTargetSize = widget.style?.tapTargetSize ?? popupMenuTheme.tapTargetSize ?? Theme.of(context).materialTapTargetSize; We can also add this property to PopupMenuTheme so developers can control the button size easier:)
| final MaterialTapTargetSize tapTargetSize = widget.style?.tapTargetSize ?? MaterialTapTargetSize.shrinkWrap; | |
| final MaterialTapTargetSize tapTargetSize = widget.style?.tapTargetSize ?? Theme.of(context).materialTapTargetSize; |
There was a problem hiding this comment.
I tried this but
if it defaults to Theme.of(context).materialTapTargetSize, this PR will be a breaking change because some buttons' size will be increased to at least 48X48, looks like some flutter_cacoon tests are failing because of that.(some g3 tests too.)
since I can't apply a flutter_cacoon fix together with this PR. I'm thinking the only way to land this PR with it default to Theme.of(context).materialTapTargetSize is by 4 steps.
- Merge this PR with default to MaterialTapTargetSize.shrinkWrap so it's not a breaking change.
- Update flutter_cacoon tests and g3 tests to use MaterialTapTargetSize.padded in its PopupMenuButton
- Update PopupMenuButton to default to Theme.of(context).materialTapTargetSize
- Remove now redundant MaterialTapTargetSize.padded in flutter_cacoon tests and g3 tests
wdyt?
There was a problem hiding this comment.
I see. Sounds good to me! If we want to add this property to PopupMenuTheme, we can also add a separate PR later. This PR LGTM!
d50bbf3 to
379967d
Compare
Roll Flutter from c8510f2 to ed553d1 (48 revisions) flutter/flutter@c8510f2...ed553d1 2024-11-13 matanlurey@users.noreply.github.com Avoid using platform `ProcessInfo.maxRss` in test. (flutter/flutter#158526) 2024-11-13 engine-flutter-autoroll@skia.org Roll Packages from 72356fd to 26e123a (19 revisions) (flutter/flutter#158626) 2024-11-13 matanlurey@users.noreply.github.com Move `dart pub deps` call to `<Pub>.deps` and use it accordingly (flutter/flutter#158524) 2024-11-13 engine-flutter-autoroll@skia.org Roll Flutter Engine from 05c14d8b4cd7 to db3e5af2ca22 (1 revision) (flutter/flutter#158553) 2024-11-13 engine-flutter-autoroll@skia.org Roll Flutter Engine from ef760d6e1f13 to 05c14d8b4cd7 (3 revisions) (flutter/flutter#158551) 2024-11-13 engine-flutter-autoroll@skia.org Roll Flutter Engine from 08348c9eebcc to ef760d6e1f13 (1 revision) (flutter/flutter#158545) 2024-11-13 fluttergithubbot@gmail.com Marks Mac_arm64_ios hot_mode_dev_cycle_ios__benchmark to be flaky (flutter/flutter#158242) 2024-11-13 engine-flutter-autoroll@skia.org Roll Flutter Engine from 877abb9ad6ff to 08348c9eebcc (8 revisions) (flutter/flutter#158541) 2024-11-13 matanlurey@users.noreply.github.com Allow `devDependencies` to be omitted and not cause a tool crash. (flutter/flutter#158518) 2024-11-13 matanlurey@users.noreply.github.com Explain how to use `flutter channel`. (flutter/flutter#158533) 2024-11-13 magder@google.com Clean up dependabot config, add github-action group (flutter/flutter#158408) 2024-11-12 reidbaker@google.com Update test to include more complete instructions for how to run tests locally, add example to andoid 11 tests as well (flutter/flutter#158528) 2024-11-12 christopherfujino@gmail.com force Linux plugin_test to run on Ubuntu 20.04 (flutter/flutter#158529) 2024-11-12 jhy03261997@gmail.com Support materialTapTargetSize in PopupMenuButton (flutter/flutter#158357) 2024-11-12 737941+loic-sharma@users.noreply.github.com [SwiftPM] Update .flutter-plugin-dependencies format (flutter/flutter#158138) 2024-11-12 andrewrkolos@gmail.com add filesystem error handling to `systemTempDirectory` (flutter/flutter#158481) 2024-11-12 jiten.pateljp2001@gmail.com Made Cupertino dialog more like a native dialog in dark mode (flutter/flutter#157218) 2024-11-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from b0a4ca92c49e to 877abb9ad6ff (2 revisions) (flutter/flutter#158506) 2024-11-12 tessertaha@gmail.com Fix `NavigationBar` label style customization on the widget level (flutter/flutter#158510) 2024-11-12 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Add test for `dynamic_content_color.0.dart` (#158309)" (flutter/flutter#158511) 2024-11-12 32538273+ValentinVignal@users.noreply.github.com Add test for `dynamic_content_color.0.dart` (flutter/flutter#158309) 2024-11-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from a672f971c659 to b0a4ca92c49e (2 revisions) (flutter/flutter#158488) 2024-11-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from 35041f118744 to a672f971c659 (1 revision) (flutter/flutter#158487) 2024-11-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from 7b3eacd20eb6 to 35041f118744 (9 revisions) (flutter/flutter#158485) 2024-11-11 737941+loic-sharma@users.noreply.github.com [SwiftPM] Simplify logic that determines if CocoaPods is used (flutter/flutter#158409) 2024-11-11 tessertaha@gmail.com Fix Chip draws `InkWell.hoverColor` is drawn on top of the provided background color with `hovered` state (flutter/flutter#158454) 2024-11-11 engine-flutter-autoroll@skia.org Roll Flutter Engine from 3cb6f4de89b6 to 7b3eacd20eb6 (1 revision) (flutter/flutter#158464) 2024-11-11 engine-flutter-autoroll@skia.org Roll Packages from bb5a258 to 72356fd (8 revisions) (flutter/flutter#158378) 2024-11-11 engine-flutter-autoroll@skia.org Roll Flutter Engine from e9a44820f302 to 3cb6f4de89b6 (3 revisions) (flutter/flutter#158456) 2024-11-11 bkonyi@google.com Replace custom `RPCErrorCodes` with `RPCErrorKind` from `package:vm_service` (flutter/flutter#158379) 2024-11-11 engine-flutter-autoroll@skia.org Roll Flutter Engine from d90e9f4718b8 to e9a44820f302 (1 revision) (flutter/flutter#158453) 2024-11-11 engine-flutter-autoroll@skia.org Roll Flutter Engine from 01c76e42c20f to d90e9f4718b8 (1 revision) (flutter/flutter#158443) 2024-11-11 engine-flutter-autoroll@skia.org Roll Flutter Engine from 9b4c3b3d5518 to 01c76e42c20f (3 revisions) (flutter/flutter#158438) 2024-11-11 proddam@gmail.com Remove block and line comments when detecting '.flutter-plugins' in settings.gradle(.kts) (flutter/flutter#155488) 2024-11-11 nate.w5687@gmail.com Add `SafeArea` DartPad sample (flutter/flutter#158019) 2024-11-10 fluttergithubbot@gmail.com Marks Linux analyzer_benchmark to be flaky (flutter/flutter#158244) 2024-11-10 andrewrkolos@gmail.com remove `bringup` status for recently re-subsharded targets (flutter/flutter#158217) 2024-11-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from 690cdfd09beb to 9b4c3b3d5518 (1 revision) (flutter/flutter#158418) 2024-11-09 fluttergithubbot@gmail.com Marks Mac_benchmark complex_layout_scroll_perf_macos__timeline_summary to be flaky (flutter/flutter#158252) 2024-11-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from ca6f5110d9d3 to 690cdfd09beb (1 revision) (flutter/flutter#158414) 2024-11-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from 2f097cfd3d2d to ca6f5110d9d3 (3 revisions) (flutter/flutter#158411) 2024-11-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from 54df0b8a4784 to 2f097cfd3d2d (1 revision) (flutter/flutter#158407) 2024-11-08 engine-flutter-autoroll@skia.org Roll Flutter Engine from b7134d373ef8 to 54df0b8a4784 (2 revisions) (flutter/flutter#158405) 2024-11-08 engine-flutter-autoroll@skia.org Roll Flutter Engine from 6b77347edfc5 to b7134d373ef8 (3 revisions) (flutter/flutter#158402) 2024-11-08 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1b567e80386e to 6b77347edfc5 (4 revisions) (flutter/flutter#158398) 2024-11-08 engine-flutter-autoroll@skia.org Roll Flutter Engine from a08bd5a07c2a to 1b567e80386e (1 revision) (flutter/flutter#158393) ...
fix #128697
PopupMenuButton can take customized child, in that case if
widgt.style.tapTargetSizeis set topadded, PopupMenuButton should support it.if child is null, default child is an iconButton, which is already 48x48.
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.