PillButtonBarThemeData.standard constructor
PillButtonBarThemeData.standard(
- 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),
);
}