switchThemeData static method

SwitchThemeData switchThemeData(
  1. Palette colors
)

Implementation

static SwitchThemeData switchThemeData(Palette colors) {
  return SwitchThemeData(
    thumbColor: WidgetStatePropertyAll(colors.fill),
    trackColor: WidgetStatePropertyAll(colors.background),
    trackOutlineColor: WidgetStatePropertyAll(colors.fill),
    trackOutlineWidth: const WidgetStatePropertyAll(2.0),
    materialTapTargetSize: null, // let Theme manage it
    mouseCursor: null, // let Theme manage it
    overlayColor: WidgetStateProperty.resolveWith((Set<WidgetState> states) {
      if (states.contains(WidgetState.selected)) {
        return colors.fill;
      } else if (states.contains(WidgetState.hovered)) {
        return colors.fillHovered;
      } else if (states.contains(WidgetState.pressed)) {
        return colors.fillSplashed;
      } else {
        return colors.fill;
      }
    }),
    splashRadius: 20.0, // match checkbox default,
    thumbIcon: WidgetStateProperty.resolveWith((Set<WidgetState> states) {
      if (states.contains(WidgetState.selected)) {
        return Icon(Icons.check_outlined, color: colors.fillText);
      } else {
        return null;
      }
    }),
  );
}