encodeThemeData static method
Encodes the given value
to a JSON compatible Map. The returned Map will
have the following structure:
{
"actionIconThemeData": "<ActionIconThemeData>",
"appBarTheme": "<AppBarTheme>",
"applyElevationOverlayColor": "<bool>",
"badgeTheme": "<BadgeThemeData>",
"bannerTheme": "<MaterialBannerThemeData>",
"bottomAppBarTheme": "<BottomAppBarThemeScheme.id,
"bottomNavigationBarTheme": "<BottomNavigationBarThemeData>",
"bottomSheetTheme": "<BottomSheetThemeData>",
"brightness": "<Brightness>",
"buttonBarTheme": "<ButtonBarThemeData>",
"buttonTheme": "<ButtonThemeData>",
"canvasColor": "<Color>",
"cardColor": "<Color>",
"cardTheme": "<CardTheme>",
"checkboxTheme": "<CheckboxThemeData>",
"chipTheme": "<ChipThemeData>",
"colorScheme": "<ColorScheme>",
"colorSchemeSeed": "<Color>",
"cupertinoOverrideTheme": "<CupertinoThemeData>",
"datePickerTheme": "<DatePickerThemeData>",
"dataTableTheme": "<DataTableThemeData>",
"dialogBackgroundColor": "<Color>",
"dialogTheme": "<DialogTheme>",
"disabledColor": "<Color>",
"dividerColor": "<Color>",
"dividerTheme": "<DividerThemeData>",
"drawerTheme": "<DrawerThemeData>",
"dropdownMenuTheme": "<DropDownMenuThemeData>",
"elevatedButtonTheme": "<ElevatedButtonThemeData>",
"expansionTileTheme": "<ExpansionTileThemeData>",
"filledButtonTheme": "<FilledButtonThemeDataScheme>"",
"floatingActionButtonTheme": "<FloatingActionButtonThemeData>",
"focusColor": "<Color>",
"fontFamily": "<String>",
"fontFamilyFallback": "<List<String>>",
"highlightColor": "<Color>",
"hintColor": "<Color>",
"hoverColor": "<Color>",
"iconButtonTheme": "<IconButtonThemeData>",
"iconTheme": "<IconThemeData>",
"indicatorColor": "<Color>",
"inputDecorationTheme": "<InputDecorationTheme>",
"listTileTheme": "<ListTileThemeData>",
"materialTapTargetSize": "<MaterialTapTargetSize>",
"menuBarTheme": "<MenuBarThemeData>",
"menuButtonTheme": "<MenuButtonThemeData>",
"menuTheme": "<MenuThemeData>",
"navigationBarTheme": "<NavigationBarThemeData>",
"navigationDrawerTheme": "<NavigationDrawerThemeData>",
"navigationRailTheme": "<NavigationRailThemeData>",
"outlinedButtonTheme": "<OutlinedButtonThemeData>",
"package": "<String>",
"pageTransitionsTheme": "<PageTransitionsTheme>",
"platform": "<TargetPlatform>",
"popupMenuTheme": "<PopupMenuThemeData>",
"primaryColor": "<Color>",
"primaryColorDark": "<Color>",
"primaryColorLight": "<Color>",
"primaryIconTheme": "<IconThemeData>",
"primarySwatch": "<MaterialColor>",
"primaryTextTheme": "<TextTheme>",
"progressIndicatorTheme": "<ProgressIndicatorThemeData>",
"radioTheme": "<RadioThemeData>",
"scaffoldBackgroundColor": "<Color>",
"scrollbarTheme": "<ScrollbarThemeData>",
"searchBarTheme": "<SearchBarThemeData>",
"searchViewTheme": "<SearchViewThemeData>",
"secondaryHeaderColor": "<Color>",
"segmentedButtonTheme": "<SegmentedButtonThemeData>",
"shadowColor": "<Color>",
"sliderTheme": "<SliderThemeData>",
"snackBarTheme": "<SnackBarThemeData>",
"splashColor": "<Color>",
"splashFactory": "<InteractiveInkFeatureFactory>",
"switchTheme": "<SwitchThemeData>",
"tabBarTheme": "<TabBarTheme>",
"textButtonTheme": "<TextButtonThemeData>",
"textSelectionTheme": "<TextSelectionThemeData>",
"textTheme": "<TextTheme>",
"timePickerTheme": "<TimePickerThemeData>",
"toggleButtonsTheme": "<ToggleButtonsThemeData>",
"tooltipTheme": "<TooltipThemeData>",
"typography": "<Typography>",
"unselectedWidgetColor": "<Color>",
"useMaterial3": "<bool>",
"visualDensity": "<VisualDensity>"
}
See also:
- encodeActionIconThemeData
- encodeAppBarTheme
- encodeBadgeThemeData
- encodeBrightness
- encodeBottomAppBarTheme
- encodeBottomSheetThemeData
- encodeButtonBarThemeData
- encodeButtonThemeData
- encodeCardTheme
- encodeCheckboxThemeData
- encodeChipThemeData
- encodeColor
- encodeColorScheme
- encodeDatePickerThemeData
- encodeDataTableThemeData
- encodeDialogTheme
- encodeDividerThemeData
- encodeDrawerThemeData
- encodeElevatedButtonThemeData
- encodeExpansionTileThemeData
- encodeFilledButtonThemeData
- encodeFloatingActionButtonThemeData
- encodeIconButtonThemeData
- encodeIconThemeData
- encodeInputDecorationTheme
- encodeInteractiveInkFeatureFactory
- encodeListTileThemeData
- encodeMaterialBannerThemeData
- encodeMaterialTapTargetSize
- encodeMenuBarThemeData
- encodeMenuButtonThemeData
- encodeMenuThemeData
- encodeNavigationBarThemeData
- encodeNavigationRailThemeData
- encodeOutlinedButtonThemeData
- encodePopupMenuThemeData
- encodeRadioThemeData
- encodeSearchBarThemeData
- encodeSearchViewThemeData
- encodeSegmentedButtonThemeData
- encodeSliderThemeData
- encodeSnackBarThemeData
- encodeSwitchThemeData
- encodeTabBarTheme
- encodeTargetPlatform
- encodeTextButtonThemeData
- encodeTextSelectionThemeData
- encodeTextStyle
- encodeToggleButtonsThemeData
- encodeTypography
- encodeVisualDensity
Implementation
static Map<String, dynamic>? encodeThemeData(ThemeData? value) {
Map<String, dynamic>? result;
if (value != null) {
result = <String, dynamic>{
'actionIconTheme': encodeActionIconThemeData(value.actionIconTheme),
'appBarTheme': encodeAppBarTheme(value.appBarTheme),
'applyElevationOverlayColor': value.applyElevationOverlayColor,
'badgeTheme': encodeBadgeThemeData(value.badgeTheme),
'bannerTheme': encodeMaterialBannerThemeData(value.bannerTheme),
'bottomAppBarTheme': encodeBottomAppBarTheme(value.bottomAppBarTheme),
'bottomNavigationBarTheme': encodeBottomNavigationBarThemeData(
value.bottomNavigationBarTheme,
),
'bottomSheetTheme': encodeBottomSheetThemeData(value.bottomSheetTheme),
'brightness': encodeBrightness(value.brightness),
'buttonBarTheme': encodeButtonBarThemeData(value.buttonBarTheme),
'buttonTheme': encodeButtonThemeData(value.buttonTheme),
'canvasColor': encodeColor(value.canvasColor),
'cardColor': encodeColor(value.cardColor),
'cardTheme': encodeCardTheme(value.cardTheme),
'checkboxTheme': encodeCheckboxThemeData(value.checkboxTheme),
'chipTheme': encodeChipThemeData(value.chipTheme),
'colorScheme': encodeColorScheme(value.colorScheme),
// 'colorSchemeSeed': @nonexistant,
'cupertinoOverrideTheme': encodeCupertinoThemeData(
value.cupertinoOverrideTheme,
),
'datePickerThemeData': encodeDatePickerThemeData(value.datePickerTheme),
'dataTableTheme': encodeDataTableThemeData(value.dataTableTheme),
'dialogBackgroundColor': encodeColor(value.dialogBackgroundColor),
'dialogTheme': encodeDialogTheme(value.dialogTheme),
'disabledColor': encodeColor(value.disabledColor),
'dividerColor': encodeColor(value.dividerColor),
'dividerTheme': encodeDividerThemeData(value.dividerTheme),
'drawerTheme': encodeDrawerThemeData(value.drawerTheme),
'elevatedButtonTheme': encodeElevatedButtonThemeData(
value.elevatedButtonTheme,
),
'expansionTileThemeData': encodeExpansionTileThemeData(
value.expansionTileTheme,
),
'filledButtonTheme': encodeFilledButtonThemeData(
value.filledButtonTheme,
),
'floatingActionButtonTheme': encodeFloatingActionButtonThemeData(
value.floatingActionButtonTheme,
),
'focusColor': encodeColor(value.focusColor),
'highlightColor': encodeColor(value.highlightColor),
'hintColor': encodeColor(value.hintColor),
'hoverColor': encodeColor(value.hoverColor),
'iconButtonTheme': encodeIconButtonThemeData(value.iconButtonTheme),
'iconTheme': encodeIconThemeData(value.iconTheme),
'indicatorColor': encodeColor(value.indicatorColor),
'inputDecorationTheme': encodeInputDecorationTheme(
value.inputDecorationTheme,
),
'listTileTheme': encodeListTileThemeData(value.listTileTheme),
'materialTapTargetSize': encodeMaterialTapTargetSize(
value.materialTapTargetSize,
),
'menuBarTheme': encodeMenuBarThemeData(value.menuBarTheme),
'menuButtonTheme': encodeMenuButtonThemeData(value.menuButtonTheme),
'menuTheme': encodeMenuThemeData(value.menuTheme),
'navigationBarTheme': encodeNavigationBarThemeData(
value.navigationBarTheme,
),
'navigationRailTheme': encodeNavigationRailThemeData(
value.navigationRailTheme,
),
'outlinedButtonTheme': encodeOutlinedButtonThemeData(
value.outlinedButtonTheme,
),
'platform': encodeTargetPlatform(value.platform),
'popupMenuTheme': encodePopupMenuThemeData(value.popupMenuTheme),
'primaryColor': encodeColor(value.primaryColor),
'primaryColorDark': encodeColor(value.primaryColorDark),
'primaryColorLight': encodeColor(value.primaryColorLight),
'primaryIconTheme': encodeIconThemeData(value.primaryIconTheme),
'primaryTextTheme': encodeTextTheme(value.primaryTextTheme),
'radioTheme': encodeRadioThemeData(value.radioTheme),
'scaffoldBackgroundColor': encodeColor(value.scaffoldBackgroundColor),
'searchBarTheme': encodeSearchBarThemeData(value.searchBarTheme),
'searchViewTheme': encodeSearchViewThemeData(value.searchViewTheme),
'secondaryHeaderColor': encodeColor(value.secondaryHeaderColor),
'shadowColor': encodeColor(value.shadowColor),
'sliderTheme': encodeSliderThemeData(value.sliderTheme),
'snackBarTheme': encodeSnackBarThemeData(value.snackBarTheme),
'splashColor': encodeColor(value.splashColor),
'splashFactory':
encodeInteractiveInkFeatureFactory(value.splashFactory),
'switchTheme': encodeSwitchThemeData(value.switchTheme),
'tabBarTheme': encodeTabBarTheme(value.tabBarTheme),
'textButtonTheme': encodeTextButtonThemeData(value.textButtonTheme),
'textSelectionTheme': encodeTextSelectionThemeData(
value.textSelectionTheme,
),
'textTheme': encodeTextTheme(value.textTheme),
'toggleButtonsTheme': encodeToggleButtonsThemeData(
value.toggleButtonsTheme,
),
'tooltipTheme': encodeTooltipThemeData(value.tooltipTheme),
'typography': encodeTypography(value.typography),
'unselectedWidgetColor': encodeColor(value.unselectedWidgetColor),
'useMaterial3': value.useMaterial3,
'visualDensity': encodeVisualDensity(value.visualDensity),
};
}
return _stripDynamicNull(result);
}