Unverified Commit 421bf647 authored by Anthony's avatar Anthony Committed by GitHub

[Material] Update the Slider and RangeSlider to the latest Material spec (#44351)

Update the Slider and RangeSlider to the latest Material spec. This introduces an updated track, updated thumbs, updated tick marks, and a new value indicator shape. The old paddle value indicator shape is also updated so that text scaling works consistently.
parent 73c32545
...@@ -69,6 +69,7 @@ class _CustomRangeThumbShape extends RangeSliderThumbShape { ...@@ -69,6 +69,7 @@ class _CustomRangeThumbShape extends RangeSliderThumbShape {
@required SliderThemeData sliderTheme, @required SliderThemeData sliderTheme,
TextDirection textDirection, TextDirection textDirection,
Thumb thumb, Thumb thumb,
bool isPressed,
}) { }) {
final Canvas canvas = context.canvas; final Canvas canvas = context.canvas;
final ColorTween colorTween = ColorTween( final ColorTween colorTween = ColorTween(
...@@ -130,6 +131,8 @@ class _CustomThumbShape extends SliderComponentShape { ...@@ -130,6 +131,8 @@ class _CustomThumbShape extends SliderComponentShape {
SliderThemeData sliderTheme, SliderThemeData sliderTheme,
TextDirection textDirection, TextDirection textDirection,
double value, double value,
double textScaleFactor,
Size sizeWithOverflow,
}) { }) {
final Canvas canvas = context.canvas; final Canvas canvas = context.canvas;
final ColorTween colorTween = ColorTween( final ColorTween colorTween = ColorTween(
...@@ -169,6 +172,8 @@ class _CustomValueIndicatorShape extends SliderComponentShape { ...@@ -169,6 +172,8 @@ class _CustomValueIndicatorShape extends SliderComponentShape {
SliderThemeData sliderTheme, SliderThemeData sliderTheme,
TextDirection textDirection, TextDirection textDirection,
double value, double value,
double textScaleFactor,
Size sizeWithOverflow,
}) { }) {
final Canvas canvas = context.canvas; final Canvas canvas = context.canvas;
final ColorTween enableColor = ColorTween( final ColorTween enableColor = ColorTween(
...@@ -438,4 +443,3 @@ class _RangeSlidersState extends State<_RangeSliders> { ...@@ -438,4 +443,3 @@ class _RangeSlidersState extends State<_RangeSliders> {
); );
} }
} }
...@@ -25,6 +25,7 @@ ThemeData _buildDarkTheme() { ...@@ -25,6 +25,7 @@ ThemeData _buildDarkTheme() {
final ThemeData base = ThemeData( final ThemeData base = ThemeData(
brightness: Brightness.dark, brightness: Brightness.dark,
accentColorBrightness: Brightness.dark, accentColorBrightness: Brightness.dark,
colorScheme: colorScheme,
primaryColor: primaryColor, primaryColor: primaryColor,
primaryColorDark: const Color(0xFF0050a0), primaryColorDark: const Color(0xFF0050a0),
primaryColorLight: secondaryColor, primaryColorLight: secondaryColor,
......
...@@ -525,7 +525,7 @@ void main() { ...@@ -525,7 +525,7 @@ void main() {
await tester.tap(find.text('push wrapped')); await tester.tap(find.text('push wrapped'));
await tester.pumpAndSettle(); // route animation await tester.pumpAndSettle(); // route animation
RenderBox sliderBox = tester.firstRenderObject<RenderBox>(find.byType(Slider)); RenderBox sliderBox = tester.firstRenderObject<RenderBox>(find.byType(Slider));
expect(sliderBox, paints..rect(color: activeTrackColor)..rect(color: inactiveTrackColor)); expect(sliderBox, paints..rrect(color: activeTrackColor)..rrect(color: inactiveTrackColor));
expect(sliderBox, paints..circle(color: thumbColor)); expect(sliderBox, paints..circle(color: thumbColor));
Navigator.of(navigatorContext).pop(); Navigator.of(navigatorContext).pop();
...@@ -534,7 +534,7 @@ void main() { ...@@ -534,7 +534,7 @@ void main() {
await tester.tap(find.text('push unwrapped')); await tester.tap(find.text('push unwrapped'));
await tester.pumpAndSettle(); // route animation await tester.pumpAndSettle(); // route animation
sliderBox = tester.firstRenderObject<RenderBox>(find.byType(Slider)); sliderBox = tester.firstRenderObject<RenderBox>(find.byType(Slider));
expect(sliderBox, isNot(paints..rect(color: activeTrackColor)..rect(color: inactiveTrackColor))); expect(sliderBox, isNot(paints..rrect(color: activeTrackColor)..rrect(color: inactiveTrackColor)));
expect(sliderBox, isNot(paints..circle(color: thumbColor))); expect(sliderBox, isNot(paints..circle(color: thumbColor)));
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment