Add example for CupertinoExpansionTile transition modes#170335
Add example for CupertinoExpansionTile transition modes#170335auto-submit[bot] merged 25 commits intoflutter:masterfrom
Conversation
… and scroll transitions
… and scroll transitions
5b39d17 to
9de541a
Compare
…thub.com/thakaredipali/flutter into feature/cupertino_expansion_tile_example
examples/api/lib/cupertino/expansion_tile/cupertino_expansion_tile_fade.0.dart
Outdated
Show resolved
Hide resolved
examples/api/lib/cupertino/expansion_tile/cupertino_expansion_tile_fade.0.dart
Outdated
Show resolved
Hide resolved
examples/api/lib/cupertino/expansion_tile/cupertino_expansion_tile.0.dart
Show resolved
Hide resolved
examples/api/lib/cupertino/expansion_tile/cupertino_expansion_tile.0.dart
Outdated
Show resolved
Hide resolved
examples/api/lib/cupertino/expansion_tile/cupertino_expansion_tile.0.dart
Outdated
Show resolved
Hide resolved
examples/api/test/cupertino/expansion_tile/cupertino_expansion_tile.0_test.dart
Outdated
Show resolved
Hide resolved
examples/api/test/cupertino/expansion_tile/cupertino_expansion_tile.0_test.dart
Outdated
Show resolved
Hide resolved
examples/api/test/cupertino/expansion_tile/cupertino_expansion_tile.0_test.dart
Outdated
Show resolved
Hide resolved
justinmc
left a comment
There was a problem hiding this comment.
Looks like a solid example, thanks for adding it!
examples/api/test/cupertino/expansion_tile/cupertino_expansion_tile.0_test.dart
Outdated
Show resolved
Hide resolved
Roll Flutter from 8303a96 to 85a9b4f (93 revisions) flutter/flutter@8303a96...85a9b4f 2025-06-19 [email protected] Roll Skia from af242598f14d to 794936b23812 (2 revisions) (flutter/flutter#170875) 2025-06-19 [email protected] Drop support for 21/22 Lollipop (flutter/flutter#170748) 2025-06-19 [email protected] Roll Dart SDK from 6020126c10e8 to bce9abe03175 (1 revision) (flutter/flutter#170872) 2025-06-19 [email protected] Roll Skia from df97f7f407db to af242598f14d (4 revisions) (flutter/flutter#170867) 2025-06-19 [email protected] Roll Skia from 1d8f7ebd23cc to df97f7f407db (5 revisions) (flutter/flutter#170864) 2025-06-19 [email protected] Roll Dart SDK from 4ab716b09e9d to 6020126c10e8 (1 revision) (flutter/flutter#170862) 2025-06-19 [email protected] Roll Skia from 291d41414fa7 to 1d8f7ebd23cc (2 revisions) (flutter/flutter#170857) 2025-06-19 [email protected] Roll Dart SDK from b32559bca3cc to 4ab716b09e9d (9 revisions) (flutter/flutter#170855) 2025-06-19 [email protected] remove --start-paused flag by default and set useDwdsWebSocketConnect… (flutter/flutter#170612) 2025-06-18 [email protected] Engine builders no longer require `is_fusion` (flutter/flutter#170849) 2025-06-18 [email protected] Roll Skia from 5f110d5f48a3 to 291d41414fa7 (2 revisions) (flutter/flutter#170836) 2025-06-18 [email protected] Use a shared vertex buffer for rendering layers. (flutter/flutter#170717) 2025-06-18 [email protected] fixes deeplinking in uiscenedelegate migrated projects (flutter/flutter#170452) 2025-06-18 [email protected] [Impeller] fix array uniforms on GLES backend. (flutter/flutter#170710) 2025-06-18 [email protected] [Impeller] Update README to add section about custom embedders. (flutter/flutter#170077) 2025-06-18 [email protected] Escape the forbidden strings in the regex used to check test command output (flutter/flutter#170702) 2025-06-18 [email protected] License cpp jun16 (flutter/flutter#170716) 2025-06-18 [email protected] Work around newer compilers requiring the satisfaction of three-way comparison of EncodableValue. (flutter/flutter#170822) 2025-06-18 [email protected] Update didUnmountRenderObject text description (flutter/flutter#169628) 2025-06-18 [email protected] Roll Skia from 297dbc32a6c7 to 5f110d5f48a3 (2 revisions) (flutter/flutter#170821) 2025-06-18 [email protected] Add an initial "Using feature flags" doc for the team. (flutter/flutter#170767) 2025-06-18 [email protected] Feat: Add mouse cursor for CupertinoDialogAction (flutter/flutter#169051) 2025-06-18 [email protected] Update `Engine-artifacts.md` to reflect flutter/cocoon/4785 (flutter/flutter#170751) 2025-06-18 [email protected] `CupertinoPicker` new onChanged behaviour (flutter/flutter#170202) 2025-06-18 [email protected] Rename `entryPointBaseUrl` to `entrypointBaseUrl` (flutter/flutter#170166) 2025-06-18 [email protected] Roll Skia from 1cb13a21b547 to 297dbc32a6c7 (4 revisions) (flutter/flutter#170809) 2025-06-18 [email protected] Roll Packages from 25d4fa4 to 715a0a5 (2 revisions) (flutter/flutter#170808) 2025-06-18 [email protected] Roll Skia from 0a106c038cd0 to 1cb13a21b547 (1 revision) (flutter/flutter#170801) 2025-06-18 [email protected] Add `--profile-microtasks` switch (flutter/flutter#170690) 2025-06-18 [email protected] Roll Skia from ff7fffa5dac5 to 0a106c038cd0 (3 revisions) (flutter/flutter#170795) 2025-06-18 [email protected] Add example for CupertinoExpansionTile transition modes (flutter/flutter#170335) 2025-06-18 [email protected] feat: Add radius to DividerThemeData. (flutter/flutter#169739) 2025-06-18 [email protected] Roll Skia from 75af9450b121 to ff7fffa5dac5 (3 revisions) (flutter/flutter#170772) 2025-06-17 98614782+auto-submit[bot]@users.noreply.github.com Reverts "add run_gradle_lock_files_check.dart for new PR's that modify gradle files (#169245)" (flutter/flutter#170770) 2025-06-17 [email protected] Started bridging the scene delegate to the lifecycle delegate for shortcuts (flutter/flutter#170180) 2025-06-17 [email protected] [ui] npot display_list allocation. (flutter/flutter#170447) 2025-06-17 [email protected] Prefer .of over .from (flutter/flutter#170750) 2025-06-17 [email protected] Fix RawGestureDetector semantics (flutter/flutter#170549) 2025-06-17 [email protected] Use correct type for filterIdentifier (flutter/flutter#170343) 2025-06-17 [email protected] Remove and inline `license_header.txt` (flutter/flutter#170475) 2025-06-17 [email protected] add run_gradle_lock_files_check.dart for new PR's that modify gradle files (flutter/flutter#169245) 2025-06-17 [email protected] Roll Dart SDK from 4fad61257b29 to b32559bca3cc (3 revisions) (flutter/flutter#170746) 2025-06-17 [email protected] [release] Sync stable changelog to master (flutter/flutter#170691) 2025-06-17 [email protected] Roll Packages from 03a6abb to 25d4fa4 (5 revisions) (flutter/flutter#170743) 2025-06-17 [email protected] [ Widget Preview ] Remove support for synthetic package:flutter_gen (flutter/flutter#170602) 2025-06-17 [email protected] Roll Skia from 8879db3b3319 to 75af9450b121 (4 revisions) (flutter/flutter#170739) ...
Roll Flutter from 8303a96 to 85a9b4f (93 revisions) flutter/flutter@8303a96...85a9b4f 2025-06-19 [email protected] Roll Skia from af242598f14d to 794936b23812 (2 revisions) (flutter/flutter#170875) 2025-06-19 [email protected] Drop support for 21/22 Lollipop (flutter/flutter#170748) 2025-06-19 [email protected] Roll Dart SDK from 6020126c10e8 to bce9abe03175 (1 revision) (flutter/flutter#170872) 2025-06-19 [email protected] Roll Skia from df97f7f407db to af242598f14d (4 revisions) (flutter/flutter#170867) 2025-06-19 [email protected] Roll Skia from 1d8f7ebd23cc to df97f7f407db (5 revisions) (flutter/flutter#170864) 2025-06-19 [email protected] Roll Dart SDK from 4ab716b09e9d to 6020126c10e8 (1 revision) (flutter/flutter#170862) 2025-06-19 [email protected] Roll Skia from 291d41414fa7 to 1d8f7ebd23cc (2 revisions) (flutter/flutter#170857) 2025-06-19 [email protected] Roll Dart SDK from b32559bca3cc to 4ab716b09e9d (9 revisions) (flutter/flutter#170855) 2025-06-19 [email protected] remove --start-paused flag by default and set useDwdsWebSocketConnect… (flutter/flutter#170612) 2025-06-18 [email protected] Engine builders no longer require `is_fusion` (flutter/flutter#170849) 2025-06-18 [email protected] Roll Skia from 5f110d5f48a3 to 291d41414fa7 (2 revisions) (flutter/flutter#170836) 2025-06-18 [email protected] Use a shared vertex buffer for rendering layers. (flutter/flutter#170717) 2025-06-18 [email protected] fixes deeplinking in uiscenedelegate migrated projects (flutter/flutter#170452) 2025-06-18 [email protected] [Impeller] fix array uniforms on GLES backend. (flutter/flutter#170710) 2025-06-18 [email protected] [Impeller] Update README to add section about custom embedders. (flutter/flutter#170077) 2025-06-18 [email protected] Escape the forbidden strings in the regex used to check test command output (flutter/flutter#170702) 2025-06-18 [email protected] License cpp jun16 (flutter/flutter#170716) 2025-06-18 [email protected] Work around newer compilers requiring the satisfaction of three-way comparison of EncodableValue. (flutter/flutter#170822) 2025-06-18 [email protected] Update didUnmountRenderObject text description (flutter/flutter#169628) 2025-06-18 [email protected] Roll Skia from 297dbc32a6c7 to 5f110d5f48a3 (2 revisions) (flutter/flutter#170821) 2025-06-18 [email protected] Add an initial "Using feature flags" doc for the team. (flutter/flutter#170767) 2025-06-18 [email protected] Feat: Add mouse cursor for CupertinoDialogAction (flutter/flutter#169051) 2025-06-18 [email protected] Update `Engine-artifacts.md` to reflect flutter/cocoon/4785 (flutter/flutter#170751) 2025-06-18 [email protected] `CupertinoPicker` new onChanged behaviour (flutter/flutter#170202) 2025-06-18 [email protected] Rename `entryPointBaseUrl` to `entrypointBaseUrl` (flutter/flutter#170166) 2025-06-18 [email protected] Roll Skia from 1cb13a21b547 to 297dbc32a6c7 (4 revisions) (flutter/flutter#170809) 2025-06-18 [email protected] Roll Packages from 25d4fa4 to 715a0a5 (2 revisions) (flutter/flutter#170808) 2025-06-18 [email protected] Roll Skia from 0a106c038cd0 to 1cb13a21b547 (1 revision) (flutter/flutter#170801) 2025-06-18 [email protected] Add `--profile-microtasks` switch (flutter/flutter#170690) 2025-06-18 [email protected] Roll Skia from ff7fffa5dac5 to 0a106c038cd0 (3 revisions) (flutter/flutter#170795) 2025-06-18 [email protected] Add example for CupertinoExpansionTile transition modes (flutter/flutter#170335) 2025-06-18 [email protected] feat: Add radius to DividerThemeData. (flutter/flutter#169739) 2025-06-18 [email protected] Roll Skia from 75af9450b121 to ff7fffa5dac5 (3 revisions) (flutter/flutter#170772) 2025-06-17 98614782+auto-submit[bot]@users.noreply.github.com Reverts "add run_gradle_lock_files_check.dart for new PR's that modify gradle files (#169245)" (flutter/flutter#170770) 2025-06-17 [email protected] Started bridging the scene delegate to the lifecycle delegate for shortcuts (flutter/flutter#170180) 2025-06-17 [email protected] [ui] npot display_list allocation. (flutter/flutter#170447) 2025-06-17 [email protected] Prefer .of over .from (flutter/flutter#170750) 2025-06-17 [email protected] Fix RawGestureDetector semantics (flutter/flutter#170549) 2025-06-17 [email protected] Use correct type for filterIdentifier (flutter/flutter#170343) 2025-06-17 [email protected] Remove and inline `license_header.txt` (flutter/flutter#170475) 2025-06-17 [email protected] add run_gradle_lock_files_check.dart for new PR's that modify gradle files (flutter/flutter#169245) 2025-06-17 [email protected] Roll Dart SDK from 4fad61257b29 to b32559bca3cc (3 revisions) (flutter/flutter#170746) 2025-06-17 [email protected] [release] Sync stable changelog to master (flutter/flutter#170691) 2025-06-17 [email protected] Roll Packages from 03a6abb to 25d4fa4 (5 revisions) (flutter/flutter#170743) 2025-06-17 [email protected] [ Widget Preview ] Remove support for synthetic package:flutter_gen (flutter/flutter#170602) 2025-06-17 [email protected] Roll Skia from 8879db3b3319 to 75af9450b121 (4 revisions) (flutter/flutter#170739) ...
This PR adds a combined example for the CupertinoExpansionTile widget, demonstrating its usage with both available transition modes: fade and scroll. **A demo app showing two CupertinoExpansionTile widgets:** - One using the default fade transition mode - One using the scroll transition mode A corresponding widget test verifying expand/collapse behavior for both tiles ### Issue Closes: flutter#167317 ## Tests - Added widget tests to validate the expand and collapse behavior for both transition modes ## Pre-launch Checklist - [x] I read the [Contributor Guide](https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview) and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene](https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md) wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide](https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md), including [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). - [x] I signed the [CLA](https://cla.developers.google.com/). - [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](https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests). - [x] I followed the [breaking change policy](https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes) and added [Data Driven Fixes](https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md) 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](https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md).
Roll Flutter from 8303a96 to 85a9b4f (93 revisions) flutter/flutter@8303a96...85a9b4f 2025-06-19 [email protected] Roll Skia from af242598f14d to 794936b23812 (2 revisions) (flutter/flutter#170875) 2025-06-19 [email protected] Drop support for 21/22 Lollipop (flutter/flutter#170748) 2025-06-19 [email protected] Roll Dart SDK from 6020126c10e8 to bce9abe03175 (1 revision) (flutter/flutter#170872) 2025-06-19 [email protected] Roll Skia from df97f7f407db to af242598f14d (4 revisions) (flutter/flutter#170867) 2025-06-19 [email protected] Roll Skia from 1d8f7ebd23cc to df97f7f407db (5 revisions) (flutter/flutter#170864) 2025-06-19 [email protected] Roll Dart SDK from 4ab716b09e9d to 6020126c10e8 (1 revision) (flutter/flutter#170862) 2025-06-19 [email protected] Roll Skia from 291d41414fa7 to 1d8f7ebd23cc (2 revisions) (flutter/flutter#170857) 2025-06-19 [email protected] Roll Dart SDK from b32559bca3cc to 4ab716b09e9d (9 revisions) (flutter/flutter#170855) 2025-06-19 [email protected] remove --start-paused flag by default and set useDwdsWebSocketConnect… (flutter/flutter#170612) 2025-06-18 [email protected] Engine builders no longer require `is_fusion` (flutter/flutter#170849) 2025-06-18 [email protected] Roll Skia from 5f110d5f48a3 to 291d41414fa7 (2 revisions) (flutter/flutter#170836) 2025-06-18 [email protected] Use a shared vertex buffer for rendering layers. (flutter/flutter#170717) 2025-06-18 [email protected] fixes deeplinking in uiscenedelegate migrated projects (flutter/flutter#170452) 2025-06-18 [email protected] [Impeller] fix array uniforms on GLES backend. (flutter/flutter#170710) 2025-06-18 [email protected] [Impeller] Update README to add section about custom embedders. (flutter/flutter#170077) 2025-06-18 [email protected] Escape the forbidden strings in the regex used to check test command output (flutter/flutter#170702) 2025-06-18 [email protected] License cpp jun16 (flutter/flutter#170716) 2025-06-18 [email protected] Work around newer compilers requiring the satisfaction of three-way comparison of EncodableValue. (flutter/flutter#170822) 2025-06-18 [email protected] Update didUnmountRenderObject text description (flutter/flutter#169628) 2025-06-18 [email protected] Roll Skia from 297dbc32a6c7 to 5f110d5f48a3 (2 revisions) (flutter/flutter#170821) 2025-06-18 [email protected] Add an initial "Using feature flags" doc for the team. (flutter/flutter#170767) 2025-06-18 [email protected] Feat: Add mouse cursor for CupertinoDialogAction (flutter/flutter#169051) 2025-06-18 [email protected] Update `Engine-artifacts.md` to reflect flutter/cocoon/4785 (flutter/flutter#170751) 2025-06-18 [email protected] `CupertinoPicker` new onChanged behaviour (flutter/flutter#170202) 2025-06-18 [email protected] Rename `entryPointBaseUrl` to `entrypointBaseUrl` (flutter/flutter#170166) 2025-06-18 [email protected] Roll Skia from 1cb13a21b547 to 297dbc32a6c7 (4 revisions) (flutter/flutter#170809) 2025-06-18 [email protected] Roll Packages from 25d4fa4 to 715a0a5 (2 revisions) (flutter/flutter#170808) 2025-06-18 [email protected] Roll Skia from 0a106c038cd0 to 1cb13a21b547 (1 revision) (flutter/flutter#170801) 2025-06-18 [email protected] Add `--profile-microtasks` switch (flutter/flutter#170690) 2025-06-18 [email protected] Roll Skia from ff7fffa5dac5 to 0a106c038cd0 (3 revisions) (flutter/flutter#170795) 2025-06-18 [email protected] Add example for CupertinoExpansionTile transition modes (flutter/flutter#170335) 2025-06-18 [email protected] feat: Add radius to DividerThemeData. (flutter/flutter#169739) 2025-06-18 [email protected] Roll Skia from 75af9450b121 to ff7fffa5dac5 (3 revisions) (flutter/flutter#170772) 2025-06-17 98614782+auto-submit[bot]@users.noreply.github.com Reverts "add run_gradle_lock_files_check.dart for new PR's that modify gradle files (#169245)" (flutter/flutter#170770) 2025-06-17 [email protected] Started bridging the scene delegate to the lifecycle delegate for shortcuts (flutter/flutter#170180) 2025-06-17 [email protected] [ui] npot display_list allocation. (flutter/flutter#170447) 2025-06-17 [email protected] Prefer .of over .from (flutter/flutter#170750) 2025-06-17 [email protected] Fix RawGestureDetector semantics (flutter/flutter#170549) 2025-06-17 [email protected] Use correct type for filterIdentifier (flutter/flutter#170343) 2025-06-17 [email protected] Remove and inline `license_header.txt` (flutter/flutter#170475) 2025-06-17 [email protected] add run_gradle_lock_files_check.dart for new PR's that modify gradle files (flutter/flutter#169245) 2025-06-17 [email protected] Roll Dart SDK from 4fad61257b29 to b32559bca3cc (3 revisions) (flutter/flutter#170746) 2025-06-17 [email protected] [release] Sync stable changelog to master (flutter/flutter#170691) 2025-06-17 [email protected] Roll Packages from 03a6abb to 25d4fa4 (5 revisions) (flutter/flutter#170743) 2025-06-17 [email protected] [ Widget Preview ] Remove support for synthetic package:flutter_gen (flutter/flutter#170602) 2025-06-17 [email protected] Roll Skia from 8879db3b3319 to 75af9450b121 (4 revisions) (flutter/flutter#170739) ...
|
I would like to propose a small functionality extension to increase the widget's flexibility. |
Hi, can you file an issue explaining the use case? IMO a builder for the trailing widget in the underlying |
|
Just a suggestion (not a bug). |
This PR adds a combined example for the CupertinoExpansionTile widget, demonstrating its usage with both available transition modes: fade and scroll.
A demo app showing two CupertinoExpansionTile widgets:
One using the default fade transition mode
One using the scroll transition mode
A corresponding widget test verifying expand/collapse behavior for both tiles
Issue
Closes: #167317
Tests
Pre-launch Checklist
If you need help, consider asking for advice on the #hackers-new channel on Discord.