-
Notifications
You must be signed in to change notification settings - Fork 29.2k
Text should still be centered when search bar height is less than 48 #128068
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
@@ -1248,7 +1248,11 @@ class _SearchBarState extends State<SearchBar> { | |||
enabledBorder: InputBorder.none, | |||
border: InputBorder.none, | |||
focusedBorder: InputBorder.none, | |||
contentPadding: const EdgeInsets.symmetric(vertical: 12.0), | |||
contentPadding: EdgeInsets.zero, | |||
|
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.
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 👍
I gave another possible option for working around this, but it should be fine either way.
|
||
// Setting `isDense` to true to allow the text field height to be | ||
// smaller than 48.0 | ||
isDense: true, |
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.
Does setting isDense to true affect anything else that you don't want it to affect? I think you might also be able to get the same effect by setting expands
to true instead. Maybe that will create other problems though haha. Whatever works is fine.
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.
Because currently the TextField
in SearchBar
is only allowed to have input text and hint text, it doesn't have any other properties like perfix/prefixIcon/suffix/label/..., so I think using isDense
should be safe:).
@@ -708,6 +708,29 @@ void main() { | |||
expect(helperText.style?.color, focusedColor); | |||
}); | |||
|
|||
// regression test for https://github.com/flutter/flutter/issues/127092. |
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.
Nit: Capital R at the start here.
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.
Clever workaround! LGTM
9bcaa5c
to
41bfacc
Compare
Roll Flutter from 3db9504 to 0b74153 (108 revisions) flutter/flutter@3db9504...0b74153 2023-06-03 engine-flutter-autoroll@skia.org Roll Flutter Engine from 54293721816a to c838a1b05924 (2 revisions) (flutter/flutter#128161) 2023-06-03 engine-flutter-autoroll@skia.org Roll Flutter Engine from 8769e9ce3a90 to 54293721816a (8 revisions) (flutter/flutter#128158) 2023-06-03 goderbauer@google.com Prefix for dart:ui multiview change (flutter/flutter#128152) 2023-06-02 aam@google.com Roll dds dependency to 2.8.3 for expression evaluation upcoming fixes. (flutter/flutter#128124) 2023-06-02 engine-flutter-autoroll@skia.org Roll Flutter Engine from f3f6a020595d to 8769e9ce3a90 (3 revisions) (flutter/flutter#128149) 2023-06-02 engine-flutter-autoroll@skia.org Roll Flutter Engine from b4250acbf3ca to f3f6a020595d (3 revisions) (flutter/flutter#128147) 2023-06-02 flar@google.com Reland "Remove obsolete drawShadow bounds workaround (#127052)" (flutter/flutter#127231) 2023-06-02 engine-flutter-autoroll@skia.org Roll Flutter Engine from c6e9383f2143 to b4250acbf3ca (8 revisions) (flutter/flutter#128142) 2023-06-02 goderbauer@google.com Pre-migration for dart:ui multi view changes (flutter/flutter#128092) 2023-06-02 goderbauer@google.com Remove LiveTestRenderView (flutter/flutter#127882) 2023-06-02 engine-flutter-autoroll@skia.org Roll Flutter Engine from 02d6fbb68b69 to c6e9383f2143 (15 revisions) (flutter/flutter#128119) 2023-06-02 5236035+fzyzcjy@users.noreply.github.com Tiny remove unnecessary method in text_selection.dart (flutter/flutter#127480) 2023-06-02 vashworth@google.com Workaround for Dart VM timeout (flutter/flutter#127875) 2023-06-02 goderbauer@google.com Make --flutter-repo analyze whole repo (flutter/flutter#127990) 2023-06-02 engine-flutter-autoroll@skia.org Roll Packages from f0513ae to 75085ed (3 revisions) (flutter/flutter#128121) 2023-06-02 50433979+natsuk4ze@users.noreply.github.com [Refactor] fix quote style in template (flutter/flutter#127762) 2023-06-02 engine-flutter-autoroll@skia.org Roll Flutter Engine from 3a453f2ccb77 to 02d6fbb68b69 (14 revisions) (flutter/flutter#128089) 2023-06-02 goderbauer@google.com Fix typos in labels (flutter/flutter#128093) 2023-06-02 zanderso@users.noreply.github.com Revert "Fix issue where DevTools would not be immediately available when using --start-paused" (flutter/flutter#128117) 2023-06-02 goderbauer@google.com Sync Lints (flutter/flutter#127976) 2023-06-02 hans.muller@gmail.com Updated TabBar and ToggleButtons examples (flutter/flutter#128088) 2023-06-02 36861262+QuncCccccc@users.noreply.github.com Text should still be centered when search bar height is less than 48 (flutter/flutter#128068) 2023-06-02 fluttergithubbot@gmail.com Roll pub packages (flutter/flutter#128053) 2023-06-01 tessertaha@gmail.com Add `FilterChip.elevated`, `ChoiceChip.elevated`, & `ActionChip.elevated` variants (flutter/flutter#128049) 2023-06-01 hans.muller@gmail.com Updated custom ListTile examples (flutter/flutter#128071) 2023-06-01 bkonyi@google.com Fix issue where DevTools would not be immediately available when using --start-paused (flutter/flutter#126698) 2023-06-01 katelovett@google.com Add error message when sliver overlap absorber is missing (flutter/flutter#128075) 2023-06-01 hans.muller@gmail.com Updated Menu examples (flutter/flutter#128080) 2023-06-01 5236035+fzyzcjy@users.noreply.github.com Add retry flag to flutter_test (flutter/flutter#125851) 2023-06-01 christopherfujino@gmail.com [flutter_tools] Use process matcher for multidex test (flutter/flutter#127996) 2023-06-01 hans.muller@gmail.com Updated InputDecoratorExamples for M3 (flutter/flutter#128065) 2023-06-01 engine-flutter-autoroll@skia.org Roll Flutter Engine from 7c0a639efd0a to 3a453f2ccb77 (1 revision) (flutter/flutter#128064) 2023-06-01 christopherfujino@gmail.com migrate the package_autoroller from querying by label to title (flutter/flutter#128066) 2023-06-01 hans.muller@gmail.com Revised Floating Action Button examples (flutter/flutter#128058) 2023-06-01 engine-flutter-autoroll@skia.org Roll Flutter Engine from fdd39c421fb9 to 7c0a639efd0a (2 revisions) (flutter/flutter#128056) 2023-06-01 engine-flutter-autoroll@skia.org Roll Flutter Engine from c8e1a8d6fb57 to fdd39c421fb9 (1 revision) (flutter/flutter#128050) 2023-06-01 chillers@google.com [labeler] Remove use of any (flutter/flutter#128011) 2023-06-01 jonahwilliams@google.com [framework] remove reference to closed issue. (flutter/flutter#128007) 2023-06-01 engine-flutter-autoroll@skia.org Roll Packages from 95bb793 to f0513ae (3 revisions) (flutter/flutter#128045) 2023-06-01 vasilich6107@users.noreply.github.com Add fallback font to IconData class (flutter/flutter#127269) 2023-06-01 mdebbar@google.com [web] Assert route names start with / if using PathUrlStrategy (flutter/flutter#127986) 2023-06-01 andrewrkolos@gmail.com [tool] In `flutter doctor -v`, warn when Android Studio version could not be detected. (flutter/flutter#126395) 2023-06-01 engine-flutter-autoroll@skia.org Roll Flutter Engine from 8339c71a963c to c8e1a8d6fb57 (1 revision) (flutter/flutter#128035) 2023-06-01 engine-flutter-autoroll@skia.org Roll Flutter Engine from bc81133892a6 to 8339c71a963c (1 revision) (flutter/flutter#128034) 2023-06-01 engine-flutter-autoroll@skia.org Roll Flutter Engine from e235f47164fa to bc81133892a6 (1 revision) (flutter/flutter#128026) 2023-06-01 72562119+tgucio@users.noreply.github.com Fixes in Cupertino translations (flutter/flutter#127872) ...
Fixes #127092
This fix can solve the alignment issue in
SearchBar
but we still need to investigate the root cause for theTextField
. Thetext baseline of
TextField
doesn't change when the height is less than 48 and greater than 40. The problem should be related to theminContainerHeight
which is 48 by default but thecontentHeight
has become smaller than this min value already. SettingisDense
/isCollapsed
to true gives theminContainerHeight
a smaller number which is 0.0:flutter/packages/flutter/lib/src/material/input_decorator.dart
Line 1086 in ff33555
Since
isDense
is used for the case where the text field has less vertical space, I just use this property in SearchBar.Screen.Recording.2023-06-01.at.10.32.01.AM.mov
This is a demo to show the text baseline that doesn't change when we set the text field height under 48.
https://github.com/flutter/flutter/assets/36861262/ce2ee815-f1f5-493a-930e-0540a627bec8
Pre-launch Checklist
///
).