ExpandableThemeData constructor
ExpandableThemeData(
- BuildContext context, {
- EdgeInsets? contentPadding,
- TextStyle? headerTextStyle,
- TextStyle? rowTextStyle,
- int? headerTextMaxLines,
- int? rowTextMaxLines,
- TextOverflow? rowTextOverflow,
- TextStyle? expandedTextStyle,
- Color? headerColor,
- Color? headerSortIconColor,
- double? headerHeight,
- Color? expandedBackgroundColor,
- Color? expandedBorderColor,
- Color? rowColor,
- Color? evenRowColor,
- Color? oddRowColor,
- BorderSide? headerBorder,
- BorderSide? rowBorder,
- Icon? editIcon,
- Icon? expansionIcon,
- double? paginationSize,
- TextStyle? paginationTextStyle,
- Color? paginationSelectedTextColor,
- Color? paginationUnselectedTextColor,
- Color? paginationSelectedFillColor,
- Color? paginationBorderColor,
- BorderRadius? paginationBorderRadius,
- double? paginationBorderWidth,
Implementation
factory ExpandableThemeData(
BuildContext context, {
EdgeInsets? contentPadding,
TextStyle? headerTextStyle,
TextStyle? rowTextStyle,
int? headerTextMaxLines,
int? rowTextMaxLines,
TextOverflow? rowTextOverflow,
TextStyle? expandedTextStyle,
Color? headerColor,
Color? headerSortIconColor,
double? headerHeight,
Color? expandedBackgroundColor,
Color? expandedBorderColor,
Color? rowColor,
Color? evenRowColor,
Color? oddRowColor,
BorderSide? headerBorder,
BorderSide? rowBorder,
Icon? editIcon,
Icon? expansionIcon,
double? paginationSize,
TextStyle? paginationTextStyle,
Color? paginationSelectedTextColor,
Color? paginationUnselectedTextColor,
Color? paginationSelectedFillColor,
Color? paginationBorderColor,
BorderRadius? paginationBorderRadius,
double? paginationBorderWidth,
}) {
final ThemeData theme = Theme.of(context);
final ColorScheme colorScheme = Theme.of(context).colorScheme;
const TextStyle fixText = TextStyle(fontSize: 13);
contentPadding ??= const EdgeInsets.symmetric(horizontal: 16.0);
headerTextStyle ??= theme.textTheme.bodyLarge ?? fixText;
rowTextStyle ??= theme.textTheme.bodyMedium ?? fixText;
headerTextMaxLines ??= 2;
rowTextMaxLines ??= 3;
rowTextOverflow ??= TextOverflow.ellipsis;
expandedTextStyle ??= theme.textTheme.bodyMedium ?? fixText;
headerColor ??= theme.scaffoldBackgroundColor;
expandedBorderColor ??= colorScheme.onBackground;
rowColor ??= theme.scaffoldBackgroundColor;
headerBorder ??= const BorderSide(
width: 2.5,
color: Color(0xffeeeeee),
);
rowBorder ??= BorderSide.none;
editIcon ??= Icon(
Icons.edit,
color: theme.unselectedWidgetColor,
size: 16,
);
expansionIcon ??= Icon(
Icons.more_vert,
color: theme.unselectedWidgetColor,
size: 18,
);
paginationSize ??= 48;
return ExpandableThemeData.raw(
contentPadding: contentPadding,
headerTextStyle: headerTextStyle,
rowTextStyle: rowTextStyle,
headerTextMaxLines: headerTextMaxLines,
rowTextMaxLines: rowTextMaxLines,
rowTextOverflow: rowTextOverflow,
expandedTextStyle: expandedTextStyle,
headerColor: headerColor,
headerSortIconColor: headerSortIconColor,
headerHeight: headerHeight,
expandedBorderColor: expandedBorderColor,
rowColor: rowColor,
headerBorder: headerBorder,
rowBorder: rowBorder,
editIcon: editIcon,
expansionIcon: expansionIcon,
paginationSize: paginationSize,
paginationTextStyle: paginationTextStyle,
paginationSelectedTextColor: paginationSelectedTextColor,
paginationUnselectedTextColor: paginationUnselectedTextColor,
paginationSelectedFillColor: paginationSelectedFillColor,
paginationBorderColor: paginationBorderColor,
paginationBorderRadius: paginationBorderRadius,
paginationBorderWidth: paginationBorderWidth,
evenRowColor: evenRowColor,
oddRowColor: oddRowColor,
);
}