Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add hover duration for Inkwell widget #132176

Merged
merged 8 commits into from Aug 24, 2023

Conversation

whiskeyPeak
Copy link
Contributor

@whiskeyPeak whiskeyPeak commented Aug 8, 2023

Adds a hoverDuration property to the Inkwell widget. This allows the user to customise how long the change in colour animates between the default colour and the hovered colour.

simplescreenrecorder-2023-08-09_00.31.18.mp4

Fixes #132170

@github-actions github-actions bot added framework flutter/packages/flutter repository. See also f: labels. f: material design flutter/packages/flutter/material repository. labels Aug 8, 2023
Copy link
Contributor

@HansMuller HansMuller left a comment

Choose a reason for hiding this comment

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

Looks like a good change. One small request.

@@ -332,6 +332,7 @@ class InkResponse extends StatelessWidget {
this.onFocusChange,
this.autofocus = false,
this.statesController,
this.hoverDuration = const Duration(milliseconds: 50),
Copy link
Contributor

Choose a reason for hiding this comment

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

Prefer to make this default to null and introduce the default with hoverDuration ?? const Duration(milliseconds: 50). That will make it easier to override the default via a theme later.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

Copy link
Contributor

@HansMuller HansMuller left a comment

Choose a reason for hiding this comment

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

LGTM

@HansMuller HansMuller added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 11, 2023
@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Aug 11, 2023
@auto-submit
Copy link
Contributor

auto-submit bot commented Aug 11, 2023

auto label is removed for flutter/flutter/132176, due to This PR has not met approval requirements for merging. You are not a member of flutter-hackers and need 1 more review(s) in order to merge this PR.

  • Merge guidelines: You need at least one approved review if you are already part of flutter-hackers or two member reviews if you are not a flutter-hacker before re-applying the autosubmit label. Reviewers: If you left a comment approving, please use the "approve" review action instead.

Copy link
Contributor

@justinmc justinmc left a comment

Choose a reason for hiding this comment

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

LGTM, just a nit and a question.

@@ -621,6 +622,9 @@ class InkResponse extends StatelessWidget {
/// {@endtemplate}
final MaterialStatesController? statesController;

/// The duration of the animation that animates the hover effect.
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: Maybe state that the default is 50 milliseconds.

await tester.tap(find.byType(InkWell), pointer: 1);
await tester.pump(const Duration(seconds: 1));

expect(log, equals(<String>['tap']));
Copy link
Contributor

Choose a reason for hiding this comment

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

Could you explain how this test works? Would it actually fail without the change in this PR? I expected it to test a color or something.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The test would fail without this pr because it's making use of the new hoverDuration property.

Copy link
Contributor

@HansMuller HansMuller left a comment

Choose a reason for hiding this comment

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

Will land the API doc change that Justin asked for (default hoverDuration is 50ms)

@HansMuller HansMuller added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 24, 2023
@auto-submit auto-submit bot merged commit b211891 into flutter:master Aug 24, 2023
73 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 25, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 25, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 25, 2023
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Aug 25, 2023
flutter/flutter@deeb811...61d9f55

2023-08-25 43759233+kenzieschmoll@users.noreply.github.com Update flutter packages to pick up latest vm_service (flutter/flutter#133335)
2023-08-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from 00f532dcaef4 to 33fca02451ef (1 revision) (flutter/flutter#133337)
2023-08-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from cb58abd77326 to 00f532dcaef4 (3 revisions) (flutter/flutter#133333)
2023-08-25 tessertaha@gmail.com Fix `PopupMenuItem` with a `ListTile` doesn't use the correct style. (flutter/flutter#133141)
2023-08-25 tessertaha@gmail.com Fix `Chip.shape`'s side is not used when provided in Material 3 (flutter/flutter#132941)
2023-08-25 72562119+tgucio@users.noreply.github.com Dispose overlay entries (flutter/flutter#132826)
2023-08-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from 0f8962208a44 to cb58abd77326 (3 revisions) (flutter/flutter#133320)
2023-08-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from 09e620d26834 to 0f8962208a44 (2 revisions) (flutter/flutter#133309)
2023-08-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from 9bcefc74b772 to 09e620d26834 (1 revision) (flutter/flutter#133307)
2023-08-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1382d6d79408 to 9bcefc74b772 (2 revisions) (flutter/flutter#133305)
2023-08-25 chingjun@google.com Allow passing verbose log from flutter daemon. (flutter/flutter#132828)
2023-08-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from b8ec4da8866c to 1382d6d79408 (1 revision) (flutter/flutter#133298)
2023-08-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from 965501a25d92 to b8ec4da8866c (11 revisions) (flutter/flutter#133296)
2023-08-24 49699333+dependabot[bot]@users.noreply.github.com Bump actions/checkout from 3.5.3 to 3.6.0 (flutter/flutter#133281)
2023-08-24 ian@hixie.ch Update the tool to know about all our new platforms (flutter/flutter#132423)
2023-08-24 ian@hixie.ch l10n-related documentation improvements (flutter/flutter#133114)
2023-08-24 73116038+whiskeyPeak@users.noreply.github.com Add hover duration for `Inkwell` widget (flutter/flutter#132176)
2023-08-24 yjbanov@google.com [web] benchmark the benchmark harness overhead (flutter/flutter#132999)
2023-08-24 polinach@google.com Users of ChangeNotifier should dispatch event of object creation in constructor. (flutter/flutter#133210)
2023-08-24 49699333+dependabot[bot]@users.noreply.github.com Bump activesupport from 6.1.7.3 to 6.1.7.6 in /dev/ci/mac (flutter/flutter#133225)
2023-08-24 31859944+LongCatIsLooong@users.noreply.github.com Remove `ImageProvider.load`, `DecoderCallback` and `PaintingBinding.instantiateImageCodec` (flutter/flutter#132679)
2023-08-24 engine-flutter-autoroll@skia.org Roll Flutter Engine from aa98a9d2e86f to 965501a25d92 (24 revisions) (flutter/flutter#133272)
2023-08-24 andrewrkolos@gmail.com handle exceptions raised while searching for configured android studio (flutter/flutter#133180)
2023-08-24 christopherfujino@gmail.com Fix mac tool_integration_tests with Xcode 15 (flutter/flutter#133217)
2023-08-24 engine-flutter-autoroll@skia.org Roll Packages from 3060b1a to 383bffa (3 revisions) (flutter/flutter#133256)

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
Please CC rmistry@google.com,stuartmorgan@google.com,ychris@google.com on the revert to ensure that a human
is aware of the problem.

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 15, 2023
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 f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add a hoverDuration property to Inkwell widget to control the animation of the hover effect.
3 participants