@@ -34,8 +34,7 @@ const Duration _kExpand = Duration(milliseconds: 200);
34
34
/// to the [leading] and [trailing] properties of [ExpansionTile] .
35
35
///
36
36
/// {@tool dartpad}
37
- /// This example demonstrates how the [ExpansionTile] icon's location and appearance
38
- /// can be customized.
37
+ /// This example demonstrates different configurations of ExpansionTile.
39
38
///
40
39
/// ** See code in examples/api/lib/material/expansion_tile/expansion_tile.0.dart **
41
40
/// {@end-tool}
@@ -217,7 +216,7 @@ class ExpansionTile extends StatefulWidget {
217
216
/// Used to override to the [ListTileThemeData.iconColor] .
218
217
///
219
218
/// If this property is null then [ExpansionTileThemeData.iconColor] is used. If that
220
- /// is also null then the value of [ColorScheme.primary ] is used.
219
+ /// is also null then the value of [ListTileThemeData.iconColor ] is used.
221
220
///
222
221
/// See also:
223
222
///
@@ -228,15 +227,6 @@ class ExpansionTile extends StatefulWidget {
228
227
/// The icon color of tile's expansion arrow icon when the sublist is collapsed.
229
228
///
230
229
/// Used to override to the [ListTileThemeData.iconColor] .
231
- ///
232
- /// If this property is null then [ExpansionTileThemeData.collapsedIconColor] is used. If that
233
- /// is also null and [ThemeData.useMaterial3] is true, [ColorScheme.onSurface] is used. Otherwise,
234
- /// defaults to [ThemeData.unselectedWidgetColor] color.
235
- ///
236
- /// See also:
237
- ///
238
- /// * [ExpansionTileTheme.of] , which returns the nearest [ExpansionTileTheme] 's
239
- /// [ExpansionTileThemeData] .
240
230
final Color ? collapsedIconColor;
241
231
242
232
@@ -245,8 +235,7 @@ class ExpansionTile extends StatefulWidget {
245
235
/// Used to override to the [ListTileThemeData.textColor] .
246
236
///
247
237
/// If this property is null then [ExpansionTileThemeData.textColor] is used. If that
248
- /// is also null then and [ThemeData.useMaterial3] is true, color of the [TextTheme.bodyLarge]
249
- /// will be used for the [title] and [subtitle] . Otherwise, defaults to [ColorScheme.primary] color.
238
+ /// is also null then the value of [ListTileThemeData.textColor] is used.
250
239
///
251
240
/// See also:
252
241
///
@@ -258,10 +247,8 @@ class ExpansionTile extends StatefulWidget {
258
247
///
259
248
/// Used to override to the [ListTileThemeData.textColor] .
260
249
///
261
- /// If this property is null then [ExpansionTileThemeData.collapsedTextColor] is used.
262
- /// If that is also null and [ThemeData.useMaterial3] is true, color of the
263
- /// [TextTheme.bodyLarge] will be used for the [title] and [subtitle] . Otherwise,
264
- /// defaults to color of the [TextTheme.titleMedium] .
250
+ /// If this property is null then [ExpansionTileThemeData.collapsedTextColor] is used. If that
251
+ /// is also null then the value of [ListTileThemeData.textColor] is used.
265
252
///
266
253
/// See also:
267
254
///
@@ -454,9 +441,7 @@ class _ExpansionTileState extends State<ExpansionTile> with SingleTickerProvider
454
441
void didChangeDependencies () {
455
442
final ThemeData theme = Theme .of (context);
456
443
final ExpansionTileThemeData expansionTileTheme = ExpansionTileTheme .of (context);
457
- final ExpansionTileThemeData defaults = theme.useMaterial3
458
- ? _ExpansionTileDefaultsM3 (context)
459
- : _ExpansionTileDefaultsM2 (context);
444
+ final ColorScheme colorScheme = theme.colorScheme;
460
445
_borderTween
461
446
..begin = widget.collapsedShape
462
447
?? expansionTileTheme.collapsedShape
@@ -473,13 +458,13 @@ class _ExpansionTileState extends State<ExpansionTile> with SingleTickerProvider
473
458
_headerColorTween
474
459
..begin = widget.collapsedTextColor
475
460
?? expansionTileTheme.collapsedTextColor
476
- ?? defaults.collapsedTextColor
477
- ..end = widget.textColor ?? expansionTileTheme.textColor ?? defaults.textColor ;
461
+ ?? theme.textTheme.titleMedium ! .color
462
+ ..end = widget.textColor ?? expansionTileTheme.textColor ?? colorScheme.primary ;
478
463
_iconColorTween
479
464
..begin = widget.collapsedIconColor
480
465
?? expansionTileTheme.collapsedIconColor
481
- ?? defaults.collapsedIconColor
482
- ..end = widget.iconColor ?? expansionTileTheme.iconColor ?? defaults.iconColor ;
466
+ ?? theme.unselectedWidgetColor
467
+ ..end = widget.iconColor ?? expansionTileTheme.iconColor ?? colorScheme.primary ;
483
468
_backgroundColorTween
484
469
..begin = widget.collapsedBackgroundColor ?? expansionTileTheme.collapsedBackgroundColor
485
470
..end = widget.backgroundColor ?? expansionTileTheme.backgroundColor;
@@ -513,54 +498,3 @@ class _ExpansionTileState extends State<ExpansionTile> with SingleTickerProvider
513
498
);
514
499
}
515
500
}
516
-
517
- class _ExpansionTileDefaultsM2 extends ExpansionTileThemeData {
518
- _ExpansionTileDefaultsM2 (this .context);
519
-
520
- final BuildContext context;
521
- late final ThemeData _theme = Theme .of (context);
522
- late final ColorScheme _colorScheme = _theme.colorScheme;
523
-
524
- @override
525
- Color ? get textColor => _colorScheme.primary;
526
-
527
- @override
528
- Color ? get iconColor => _colorScheme.primary;
529
-
530
- @override
531
- Color ? get collapsedTextColor => _theme.textTheme.titleMedium! .color;
532
-
533
- @override
534
- Color ? get collapsedIconColor => _theme.unselectedWidgetColor;
535
- }
536
-
537
- // BEGIN GENERATED TOKEN PROPERTIES - ExpansionTile
538
-
539
- // Do not edit by hand. The code between the "BEGIN GENERATED" and
540
- // "END GENERATED" comments are generated from data in the Material
541
- // Design token database by the script:
542
- // dev/tools/gen_defaults/bin/gen_defaults.dart.
543
-
544
- // Token database version: v0_152
545
-
546
- class _ExpansionTileDefaultsM3 extends ExpansionTileThemeData {
547
- _ExpansionTileDefaultsM3 (this .context);
548
-
549
- final BuildContext context;
550
- late final ThemeData _theme = Theme .of (context);
551
- late final ColorScheme _colors = _theme.colorScheme;
552
-
553
- @override
554
- Color ? get textColor => Theme .of (context).textTheme.bodyLarge! .color;
555
-
556
- @override
557
- Color ? get iconColor => _colors.primary;
558
-
559
- @override
560
- Color ? get collapsedTextColor => Theme .of (context).textTheme.bodyLarge! .color;
561
-
562
- @override
563
- Color ? get collapsedIconColor => _colors.onSurface;
564
- }
565
-
566
- // END GENERATED TOKEN PROPERTIES - ExpansionTile
0 commit comments