PillButtonBarThemeData.standard constructor

PillButtonBarThemeData.standard(
  1. ThemeData style
)

Implementation

factory PillButtonBarThemeData.standard(ThemeData style) {
  Color _applyOpacity(Color color, Set<ButtonStates> states) {
    return color.withOpacity(
      states.isPressing
          ? 0.925
          : states.isFocused
              ? 0.4
              : states.isHovering
                  ? 0.85
                  : 1.0,
    );
  }

  final isLight = style.brightness.isLight;
  final unselectedColor =
      isLight ? style.accentColor.dark : Color(0xFF141414);

  return PillButtonBarThemeData(
    backgroundColor: isLight ? style.accentColor : Color(0xFF212121),
    selectedColor: ButtonState.resolveWith((states) {
      return _applyOpacity(
          isLight ? Colors.white : Color(0xFF404040), states);
    }),
    unselectedColor: ButtonState.resolveWith((states) {
      return _applyOpacity(unselectedColor, states);
    }),
    selectedTextStyle:
        TextStyle(color: isLight ? Colors.black : Colors.white),
    unselectedTextStyle: TextStyle(
        color: isLight ? unselectedColor.basedOnLuminance() : Colors.white),
  );
}