parseColor static method
Implementation
static Color? parseColor(String? colorStr, BuildContext ctx) {
if (colorStr == null) return null;
if (colorStr.startsWith('@theme')) {
// built in theme pattern like '@theme.primaryColor'.
var descriptor = colorStr.split('.').last;
ThemeData theme = Theme.of(ctx);
switch (descriptor) {
case FLThemeColors.primaryColor:
return theme.primaryColor;
case FLThemeColors.primaryColorLight:
return theme.primaryColorLight;
case FLThemeColors.primaryColorDark:
return theme.primaryColorDark;
case FLThemeColors.accentColor:
return theme.colorScheme.secondary;
case FLThemeColors.canvasColor:
return theme.canvasColor;
case FLThemeColors.scaffoldBackgroundColor:
return theme.scaffoldBackgroundColor;
case FLThemeColors.cardColor:
return theme.cardColor;
case FLThemeColors.dividerColor:
return theme.dividerColor;
case FLThemeColors.focusColor:
return theme.focusColor;
case FLThemeColors.hoverColor:
return theme.hoverColor;
case FLThemeColors.highlightColor:
return theme.highlightColor;
case FLThemeColors.splashColor:
return theme.splashColor;
case FLThemeColors.unselectedWidgetColor:
return theme.unselectedWidgetColor;
case FLThemeColors.disabledColor:
return theme.disabledColor;
case FLThemeColors.secondaryHeaderColor:
return theme.secondaryHeaderColor;
case FLThemeColors.textSelectionColor:
return theme.textSelectionTheme.selectionColor;
case FLThemeColors.cursorColor:
return theme.textSelectionTheme.cursorColor;
case FLThemeColors.textSelectionHandleColor:
return theme.textSelectionTheme.selectionHandleColor;
case FLThemeColors.dialogBackgroundColor:
return theme.dialogBackgroundColor;
case FLThemeColors.indicatorColor:
return theme.indicatorColor;
case FLThemeColors.hintColor:
return theme.hintColor;
default:
return null;
}
} else {
return Color(num.parse(colorStr) as int);
}
}