Camille Simon
7fd228f31d
[Material] Change default mouse cursor of buttons to basic arrow instead of click (except on web) ( #171796 )
...
Changes default mouse cursor of Material buttons to basic arrow instead
of click as per updated Android guidance.
For each Material button, I did the following:
1. Changed the default mouse cursor to the basic arrow.
2. Added a way to configure the mouse cursor of the button if a method
did not exist before.
3. Added a test to ensure that the default mouse cursor is now the basic
arrow (or modified an existing one if applicable).
4. Added a test to ensure that the customization of button mouse cursors
still works (if currently untested).
The list of Material buttons I modified (supposed to be all of them):
- RawMaterialButton
- DropdownButton
- FloatingActionButton
- ToggleButtons
- ElevatedButton
- IconButton
- FilledButton
- OutlinedButton
- PopupMenuItem
- InkWell
- TextButton
- MaterialButton
- DropdownMenuItem
- DropdownButtonFormField
- BackButton
- CloseButton
- DrawerButton
- EndDrawerButton
- PopupMenuButton
- MenuItemButton
- CheckboxMenuButton
- RadioMenuButton
- MenuBar
- SubmenuButton
- SegmentedButton
- FilterChip
- ChoiceChip
- ActionChip
- InputChip
Fixes https://github.com/flutter/flutter/issues/170296 .
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
---------
Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
2025-10-23 22:24:00 +00:00
Justin McCandless
2c031ed023
Reland predictive back route transitions by default ( #173860 )
...
Relands https://github.com/flutter/flutter/pull/165832 by reverting
flutter/flutter#173809 .
2025-08-15 22:40:14 +00:00
auto-submit[bot]
0e57a627f5
Reverts "Predictive back route transitions by default ( #165832 )" ( #173809 )
...
<!-- start_original_pr_link -->
Reverts: flutter/flutter#165832
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: matanlurey
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Breaks `Linux_pixel_7pro
embedded_android_views_integration_test`:
-
https://ci.chromium.org/ui/p/flutter/builders/prod/Linux_pixel_7pro%20embedded_android_views_integration_test/8918/overview
-
https://ci.chromium.org/ui/p/flutter/builders/prod/Linux_pixel_7pro%20embedded_android_views_integration_test/8917/overview
```txt
[2025-08-14 16:01:17.600761] [STDOUT] stdout: [ +1 ms] Expecte
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: justinmc
<!-- end_original_pr_author -->
<!-- start_reviewers -->
Reviewed By: {QuncCccccc}
<!-- end_reviewers -->
<!-- start_revert_body -->
This change reverts the following previous change:
This PR turns on predictive back route transitions by default on supported Android devices.
With https://github.com/flutter/flutter/pull/154718 , the default (PredictiveBackPageTransitionsBuilder) is the [shared element transition](https://developer.android.com/design/ui/mobile/guides/patterns/predictive-back#shared-element-transition ). The [full screen transition](https://developer.android.com/design/ui/mobile/guides/patterns/predictive-back#full-screen-surfaces ) is also available by using PredictiveBackFullScreenPageTransitionsBuilder.
Original PR: https://github.com/flutter/flutter/pull/146788
Depends on: https://github.com/flutter/flutter/pull/154718
When this lands in stable, the docs should be updated: https://docs.flutter.dev/platform-integration/android/predictive-back
<!-- end_revert_body -->
Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-08-14 23:38:48 +00:00
Justin McCandless
d1e2019a94
Predictive back route transitions by default ( #165832 )
...
This PR turns on predictive back route transitions by default on
supported Android devices.
With https://github.com/flutter/flutter/pull/154718 , the default
(PredictiveBackPageTransitionsBuilder) is the [shared element
transition](https://developer.android.com/design/ui/mobile/guides/patterns/predictive-back#shared-element-transition ).
The [full screen
transition](https://developer.android.com/design/ui/mobile/guides/patterns/predictive-back#full-screen-surfaces )
is also available by using
PredictiveBackFullScreenPageTransitionsBuilder.
Original PR: https://github.com/flutter/flutter/pull/146788
Depends on: https://github.com/flutter/flutter/pull/154718
When this lands in stable, the docs should be updated:
https://docs.flutter.dev/platform-integration/android/predictive-back
2025-08-14 20:39:12 +00:00
Kate Lovett
a04fb324be
Bump Dart to 3.8 and reformat ( #171703 )
...
Bumps the Dart version to 3.8 across the repo (excluding
engine/src/flutter/third_party) and applies formatting updates from Dart
3.8.
## Pre-launch Checklist
- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel
on [Discord].
<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-07-07 17:58:32 +00:00
Michael Goderbauer
5491c8c146
Auto-format Framework ( #160545 )
...
This auto-formats all *.dart files in the repository outside of the
`engine` subdirectory and enforces that these files stay formatted with
a presubmit check.
**Reviewers:** Please carefully review all the commits except for the
one titled "formatted". The "formatted" commit was auto-generated by
running `dev/tools/format.sh -a -f`. The other commits were hand-crafted
to prepare the repo for the formatting change. I recommend reviewing the
commits one-by-one via the "Commits" tab and avoiding Github's "Files
changed" tab as it will likely slow down your browser because of the
size of this PR.
---------
Co-authored-by: Kate Lovett <katelovett@google.com>
Co-authored-by: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>
2024-12-19 20:06:21 +00:00
Michael Goderbauer
962ae8a334
Remove double MaterialApp wrap from api samples ( #150055 )
...
The widget under test already contains a MaterialApp, so there's no need to wrap it again with one in the test. In fact, the additional MaterialApp could hide problems in the widget under test.
2024-06-12 05:22:23 +00:00
Taha Tesser
12659f2a7b
Fix MultiChildLayoutDelegate.hasChild doc ( #126433 )
...
fixes https://github.com/flutter/flutter/issues/115898
`hasChild` checks `_idToChild` map. `_idToChild` is not assigned until `_callPerformLayout` is called.
So `hasChild` shouldn't be called in `getSize`.
df789c9e76/packages/flutter/lib/src/rendering/custom_layout.dart (L400-L404)
Updated docs and example class names.
2023-05-11 14:59:07 +00:00
Simon Binder
c71f1dd76b
Treat hidden IndexedStack children as offstage for test finder ( #123129 )
...
Treat hidden `IndexedStack` children as offstage for test finder
2023-03-29 19:58:58 +00:00
Taha Tesser
9a4e897965
Add OverflowBox example and update existing examples under basic.dart ( #121213 )
...
Add `OverflowBox` example and update existing examples under `basic.dart`
2023-02-27 18:52:00 +00:00
Youssef Attia
082560313b
Added an example for IndexedStack widget ( #105318 )
...
* Added an example for IndexedStack
* Added tests for the IndexedStack example
* Fixed type issue for onSubmitted callback functions
* Fixed documentation and moved files to their appropriate places
* Fixed documentation and moved files to their appropriate places
* Moved test files to their appropriate places
* Moved test files to their appropriate places
* Fixed file path in documentation
* Remove trailing space
* Formatting changes
* Remove extra line
* Further formatting changes
* Further formatting changes
* fix comma and inline
Co-authored-by: Greg Spencer <gspencergoog@users.noreply.github.com>
* Formatting
* indentation and formatting
* Formatting
* Formatting
* Formatting
* Removed duplicate chevron
* better wording on documentation
Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
* Added testing for state preservation
Co-authored-by: Greg Spencer <gspencergoog@users.noreply.github.com>
Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com>
2022-06-13 16:38:37 -07:00
Bruno Leroux
37b3feea70
Add examples and troubleshooting comment for ClipRRect ( #101907 )
2022-04-18 10:24:08 -07:00
Greg Spencer
5012c99df5
Add example for CustomMultiChildLayout ( #96632 )
...
This adds a simple example to CustomMultiChildLayout that lays out colored containers in a cascade.
2022-01-14 10:54:15 -08:00