From aabe53ca36196d5e62a1e5c0965903b4290da637 Mon Sep 17 00:00:00 2001 From: zhengzeqin Date: Tue, 30 Apr 2024 02:18:06 +0800 Subject: [PATCH] [Fix]: showDateRangePicker with "large" helpText cutoffs the save button (#146049) Fix https://github.com/flutter/flutter/issues/146039 Pre-launch Checklist --- packages/flutter/lib/src/material/date_picker.dart | 7 ++++++- .../flutter/test/material/date_range_picker_test.dart | 10 ++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/flutter/lib/src/material/date_picker.dart b/packages/flutter/lib/src/material/date_picker.dart index 890ae8d747..c2b907c4ef 100644 --- a/packages/flutter/lib/src/material/date_picker.dart +++ b/packages/flutter/lib/src/material/date_picker.dart @@ -1685,7 +1685,12 @@ class _CalendarRangePickerDialog extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text(helpText, style: headlineHelpStyle), + Text( + helpText, + style: headlineHelpStyle, + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), const SizedBox(height: 8), Row( children: [ diff --git a/packages/flutter/test/material/date_range_picker_test.dart b/packages/flutter/test/material/date_range_picker_test.dart index 0a62808319..6206f4ce50 100644 --- a/packages/flutter/test/material/date_range_picker_test.dart +++ b/packages/flutter/test/material/date_range_picker_test.dart @@ -268,6 +268,16 @@ void main() { }); }); + testWidgets('Long helpText does not cutoff the save button', (WidgetTester tester) async { + helpText = 'long helpText' * 100; + saveText = 'make it so'; + await preparePicker(tester, (Future range) async { + expect(find.text(helpText!), findsOneWidget); + expect(find.text(saveText!), findsOneWidget); + expect(tester.takeException(), null); + }); + }); + testWidgets('Material3 has sentence case labels', (WidgetTester tester) async { await preparePicker(tester, (Future range) async { expect(find.text('Save'), findsOneWidget);