-
Notifications
You must be signed in to change notification settings - Fork 28.9k
Fix broken text field with set hint and min and max lines(#153183) #153235
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like the feature is achievable without any flutter code changes. You can set the hintText to null when the text field becomes non-empty. Also having long hint text usually isn't great UX since it goes away as soon as you start typing.
@LongCatIsLooong Thank you for your review, yes, but we need additional logic to update textField, so I added a variable to control it for the convenience of users. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks for bearing with me!
@@ -4505,6 +4505,21 @@ void main() { | |||
final Text hintTextWidget = tester.widget(hintTextFinder); | |||
expect(hintTextWidget.style!.overflow, decoration.hintStyle!.overflow); | |||
}); | |||
|
|||
testWidgets('hint should be ignore its height when input text', (WidgetTester tester) async { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
testWidgets('hint should be ignore its height when input text', (WidgetTester tester) async { | |
testWidgets('Ignore hint height on non-empty text', (WidgetTester tester) async { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dkwingsmt thank you, i update my test
duration: decoration.hintFadeDuration ?? _kHintFadeTransitionDuration, | ||
curve: _kTransitionCurve, | ||
child: hintTextWidget, | ||
) : AnimatedSwitcher( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The animation logic seems complicated. I don't know what the expectation is here, but we probably want to test any non-trivial behavior. (Consider AnimationSheetBuilder
)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dkwingsmt Sorry, I don't know much about the AnimationSheetBuilder component, so I refer to testWidgets('InputDecoration.collapsed accepts hintFadeDuration')
to write tests
Manual roll requested by stuartmorgan@google.com flutter/flutter@fa402c8...ead6b0d 2024-09-27 kustermann@google.com Remove left-over traces of "link-dry-run" - which isn't used anywhere in flutter (flutter/flutter#155820) 2024-09-27 engine-flutter-autoroll@skia.org Roll Flutter Engine from e57b440ec4ee to 7c603de2dca7 (5 revisions) (flutter/flutter#155811) 2024-09-27 bruno.leroux@gmail.com Fix DropdownMenu rendered behind AppBar (flutter/flutter#155539) 2024-09-27 engine-flutter-autoroll@skia.org Roll Flutter Engine from 53517772a5b0 to e57b440ec4ee (8 revisions) (flutter/flutter#155799) 2024-09-27 ditman@gmail.com Throw StateError when implicitView is null on `wrapWithDefaultView`. (flutter/flutter#155734) 2024-09-27 34871572+gmackall@users.noreply.github.com Roll packages manually (flutter/flutter#155786) 2024-09-27 rmolivares@renzo-olivares.dev fix: SelectableText should handle focus changes (flutter/flutter#155771) 2024-09-27 34871572+gmackall@users.noreply.github.com Use flutter from in same repo (not path) in `generate_gradle_lockfiles.dart` (again) (flutter/flutter#155794) 2024-09-26 34871572+gmackall@users.noreply.github.com Use flutter from in same repo (not path) in `generate_gradle_lockfiles.dart` (flutter/flutter#155790) 2024-09-26 rmolivares@renzo-olivares.dev `RenderParagraph` should invalidate its `_SelectableFragment`s cached rects on window size updates (flutter/flutter#155719) 2024-09-26 zeqinjie@qq.com Fix broken text field with set hint and min and max lines(#153183) (flutter/flutter#153235) 2024-09-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from 9e6133e8d906 to 53517772a5b0 (1 revision) (flutter/flutter#155772) 2024-09-26 ian@hixie.ch Fix line-wrapping in `flutter create` error message. (flutter/flutter#150325) 2024-09-26 christopherfujino@gmail.com remove fujino from CODEOWNERS (flutter/flutter#155369) 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 camillesimon@google.com,stuartmorgan@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://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
Fix #153183
Fix #52008
Pre-launch Checklist
If you need help, consider asking for advice on the #hackers-new channel on Discord.