Skip to content

[Animations] add example to openCntainer#11189

Merged
auto-submit[bot] merged 7 commits intoflutter:mainfrom
AbdeMohlbi:fix_todo_in_open_container
Mar 27, 2026
Merged

[Animations] add example to openCntainer#11189
auto-submit[bot] merged 7 commits intoflutter:mainfrom
AbdeMohlbi:fix_todo_in_open_container

Conversation

@AbdeMohlbi
Copy link
Copy Markdown
Contributor

@AbdeMohlbi AbdeMohlbi commented Mar 6, 2026

Fixes the todo : TODO(goderbauer): Add example animations and sample code.

Pre-Review Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

Footnotes

  1. Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. 2

@github-actions github-actions bot added p: animations triage-framework Should be looked at in framework triage labels Mar 6, 2026
@AbdeMohlbi AbdeMohlbi added the override: no versioning needed Override the check requiring version bumps for most changes label Mar 6, 2026
@AbdeMohlbi
Copy link
Copy Markdown
Contributor Author

This change should not require a version bump since it is a documentation change mostly

@AbdeMohlbi AbdeMohlbi marked this pull request as ready for review March 6, 2026 09:18
@AbdeMohlbi AbdeMohlbi requested a review from hannah-hyj as a code owner March 6, 2026 09:18
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds a dartdoc example for the OpenContainer widget and updates the CHANGELOG.md to reflect this change. The example demonstrates how to use OpenContainer with openBuilder and closedBuilder. My review provides a suggestion to simplify the example code for clarity and adherence to Dart style conventions.

Comment on lines +77 to +110
/// OpenContainer(
/// transitionDuration: const Duration(milliseconds: 500),
/// transitionType: ContainerTransitionType.fadeThrough,
/// openBuilder: (context, action) {
/// return Scaffold(
/// appBar: AppBar(title: const Text("Details Page")),
/// body: const Center(
/// child: Text(
/// "This page opened with Container Transform animation",
/// style: TextStyle(fontSize: 18),
/// textAlign: TextAlign.center,
/// ),
/// ),
/// );
/// },
/// closedBuilder: (context, action) {
/// return GestureDetector(
/// onTap: action,
/// child: Container(
/// width: 200,
/// height: 120,
/// alignment: Alignment.center,
/// decoration: BoxDecoration(
/// color: Colors.blue,
/// borderRadius: BorderRadius.circular(16),
/// ),
/// child: const Text(
/// "Open Details",
/// style: TextStyle(color: Colors.white, fontSize: 18),
/// ),
/// ),
/// );
/// },
/// ),
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For a clearer and more idiomatic example, I have a few suggestions:

  • In closedBuilder, the GestureDetector is redundant because OpenContainer is tappable by default. It's simpler to rely on the default behavior. The action callback is useful for more complex scenarios, like when tappable is set to false.
  • The action parameters in both openBuilder and closedBuilder are unused in this example. It's a good practice to rename them to _ to signify they are intentionally ignored.
  • Per the Dart style guide, it's preferred to use single quotes for strings.

I've applied these changes in the suggestion.

/// OpenContainer(
///   transitionDuration: const Duration(milliseconds: 500),
///   transitionType: ContainerTransitionType.fadeThrough,
///   openBuilder: (context, _) {
///     return Scaffold(
///       appBar: AppBar(title: const Text('Details Page')),
///       body: const Center(
///         child: Text(
///           'This page opened with Container Transform animation',
///           style: TextStyle(fontSize: 18),
///           textAlign: TextAlign.center,
///         ),
///       ),
///     );
///   },
///   closedBuilder: (context, _) {
///     return Container(
///       width: 200,
///       height: 120,
///       alignment: Alignment.center,
///       decoration: BoxDecoration(
///         color: Colors.blue,
///         borderRadius: BorderRadius.circular(16),
///       ),
///       child: const Text(
///         'Open Details',
///         style: TextStyle(color: Colors.white, fontSize: 18),
///       ),
///     );
///   },
/// ),
References
  1. DO use single quotes for strings. (link)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

valid point.
not sure about the action with _.
valid point for single quotes.

@Piinks
Copy link
Copy Markdown
Contributor

Piinks commented Mar 17, 2026

Hey @AbdeMohlbi thanks for the PR! Actually, examples do typically require a version bump and release since this is changing the public documentation.

@AbdeMohlbi AbdeMohlbi removed the override: no versioning needed Override the check requiring version bumps for most changes label Mar 18, 2026
@hannah-hyj
Copy link
Copy Markdown
Member

Hi @ @AbdeMohlbi ! Can you bump the version in CHANGELOG.md and pubspec.yaml ?

@AbdeMohlbi
Copy link
Copy Markdown
Contributor Author

Hi @ @AbdeMohlbi ! Can you bump the version in CHANGELOG.md and pubspec.yaml ?

I plan on doing that soon, i will mark as draft for the moment, thanks and sorry for the delay.

@AbdeMohlbi AbdeMohlbi marked this pull request as draft March 18, 2026 21:46
@AbdeMohlbi AbdeMohlbi added the CICD Run CI/CD label Mar 19, 2026
@AbdeMohlbi AbdeMohlbi marked this pull request as ready for review March 19, 2026 13:04
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds a usage example to the OpenContainer widget's documentation, resolving a TODO item. It also increments the package version in pubspec.yaml and adds a corresponding entry to CHANGELOG.md. My review identified a syntax error in the newly added example code which would prevent it from being runnable. I have provided a suggestion to correct this.

@justinmc justinmc self-requested a review March 24, 2026 21:56
Copy link
Copy Markdown
Member

@hannah-hyj hannah-hyj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The example looks good to me except a nit

@AbdeMohlbi AbdeMohlbi requested a review from hannah-hyj March 27, 2026 15:35
@AbdeMohlbi AbdeMohlbi added CICD Run CI/CD and removed CICD Run CI/CD labels Mar 27, 2026
Copy link
Copy Markdown
Member

@hannah-hyj hannah-hyj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Piinks Piinks added the autosubmit Merge PR when tree becomes green via auto submit App label Mar 27, 2026
@auto-submit auto-submit bot merged commit cd60860 into flutter:main Mar 27, 2026
81 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 30, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 30, 2026
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Mar 30, 2026
flutter/packages@7ae082a...582f0e7

2026-03-30 49699333+dependabot[bot]@users.noreply.github.com Bump
lewagon/wait-on-check-action from 1.5.0 to 1.6.0 in the
all-github-actions group (flutter/packages#11388)
2026-03-28 tarrinneal@gmail.com [pigeon] bumps analyzer support to
between 10 and 12 (flutter/packages#11358)
2026-03-27 stuartmorgan@google.com Remove CODEOWNERS
(flutter/packages#11375)
2026-03-27 engine-flutter-autoroll@skia.org Roll Flutter (stable) from
2c9eb20 to db50e20 (6 revisions) (flutter/packages#11380)
2026-03-27 116356835+AbdeMohlbi@users.noreply.github.com [Animations]
add example to `openCntainer` (flutter/packages#11189)
2026-03-27 engine-flutter-autoroll@skia.org Roll Flutter (stable) from
2c9eb20 to db50e20 (6 revisions) (flutter/packages#11380)
2026-03-27 engine-flutter-autoroll@skia.org Roll Flutter from
e79bf6c to fb03253 (16 revisions) (flutter/packages#11379)
2026-03-27 katelovett@google.com [two_dimensional_scrollables] Add
regression test (flutter/packages#11376)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC flutter-ecosystem@google.com on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
bkonyi pushed a commit to bkonyi/flutter that referenced this pull request Mar 30, 2026
…r#184341)

flutter/packages@7ae082a...582f0e7

2026-03-30 49699333+dependabot[bot]@users.noreply.github.com Bump
lewagon/wait-on-check-action from 1.5.0 to 1.6.0 in the
all-github-actions group (flutter/packages#11388)
2026-03-28 tarrinneal@gmail.com [pigeon] bumps analyzer support to
between 10 and 12 (flutter/packages#11358)
2026-03-27 stuartmorgan@google.com Remove CODEOWNERS
(flutter/packages#11375)
2026-03-27 engine-flutter-autoroll@skia.org Roll Flutter (stable) from
2c9eb20 to db50e20 (6 revisions) (flutter/packages#11380)
2026-03-27 116356835+AbdeMohlbi@users.noreply.github.com [Animations]
add example to `openCntainer` (flutter/packages#11189)
2026-03-27 engine-flutter-autoroll@skia.org Roll Flutter (stable) from
2c9eb20 to db50e20 (6 revisions) (flutter/packages#11380)
2026-03-27 engine-flutter-autoroll@skia.org Roll Flutter from
e79bf6c to fb03253 (16 revisions) (flutter/packages#11379)
2026-03-27 katelovett@google.com [two_dimensional_scrollables] Add
regression test (flutter/packages#11376)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC flutter-ecosystem@google.com on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App CICD Run CI/CD p: animations triage-framework Should be looked at in framework triage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants