Taha Tesser
9e88446f89
Fix Slider thumb doesn't align with divisions, thumb padding, and rounded corners (#149594)
fixes [[Slider] Thumb's center doesn't align with division's center](https://github.com/flutter/flutter/issues/62567)
fixes [Slider thumb doesn't respect round slider track shape](https://github.com/flutter/flutter/issues/149591)
fixes [`RoundedRectSliderTrackShape` corners are not rendered correctly](https://github.com/flutter/flutter/issues/149589)
(Verified these behaviors with Android components implementation)
### Code sample
<details>
<summary>expand to view the code sample</summary>
```dart
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
double _value = 5.0;
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
sliderTheme: const SliderThemeData(
trackHeight: 32,
thumbColor: Colors.green,
activeTrackColor: Colors.deepPurple,
inactiveTrackColor: Colors.amber,
),
),
home: Scaffold(
body: Slider(
value: _value,
// divisions: 10,
// ignore: avoid_redundant_argument_values
min: 0,
max: 10,
onChanged: (double value) {
setState(() {
_value = value;
});
},
),
),
);
}
}
```
</details>
### Description
This PR fixes several core `Sliders` issues which are apparent in https://github.com/flutter/flutter/pull/147783. As a result, fixing the these bugs will unblock it.
### 1. Fixes the thumb doesn't align with `Slider` divisions.


### 2. Fixes `RoundedRectSliderTrackShape` corners are not rendered correctly.

### 3. Fixes round track shape corners when the thumb is at the start or end of the round track shape.



2024-07-15 07:09:09 +00:00
..
2024-04-09 19:35:07 +00:00
2024-06-13 19:28:21 +00:00
2024-04-09 19:35:07 +00:00
2024-01-31 16:13:17 +00:00
2024-01-31 16:13:17 +00:00
2024-07-01 17:06:54 +00:00
2024-01-24 16:49:18 +00:00
2024-07-08 21:01:56 +00:00
2024-04-25 10:32:45 -07:00
2024-04-25 10:32:45 -07:00
2024-05-28 16:35:29 -07:00
2024-05-28 16:35:29 -07:00
2024-07-01 23:36:32 +00:00
2024-02-28 13:55:50 -08:00
2024-06-21 14:48:41 -07:00
2024-03-19 17:58:13 +00:00
2024-05-29 18:46:04 +00:00
2024-02-28 13:55:50 -08:00
2024-01-19 18:29:07 +00:00
2024-03-19 17:58:13 +00:00
2024-06-12 20:05:10 +00:00
2024-06-12 20:05:10 +00:00
2024-05-09 16:31:54 -06:00
2024-06-06 21:41:22 +00:00
2024-06-12 20:05:10 +00:00
2024-07-08 21:01:56 +00:00
2024-05-10 23:37:05 +00:00
2024-06-13 19:28:21 +00:00
2024-05-10 23:37:05 +00:00
2024-06-13 19:28:21 +00:00
2024-06-20 06:44:11 -07:00
2024-06-14 00:07:48 +00:00
2024-04-01 09:42:51 +00:00
2024-05-28 16:35:29 -07:00
2024-07-08 21:01:56 +00:00
2024-05-30 17:53:03 +00:00
2024-06-12 20:05:10 +00:00
2024-07-09 19:55:47 +00:00
2024-05-10 22:08:59 +00:00
2024-07-08 21:01:56 +00:00
2024-06-12 20:05:10 +00:00
2024-05-15 18:37:07 +00:00
2024-04-08 20:47:13 +00:00
2024-07-11 18:30:57 +00:00
2024-02-28 13:55:50 -08:00
2024-06-27 10:52:48 -07:00
2024-06-12 20:05:10 +00:00
2024-02-28 13:55:50 -08:00
2024-06-12 20:05:10 +00:00
2024-06-12 20:05:10 +00:00
2024-06-12 20:05:10 +00:00
2024-01-22 11:13:31 +00:00
2024-06-12 20:05:10 +00:00
2024-02-28 13:55:50 -08:00
2024-06-13 19:28:21 +00:00
2024-01-24 16:13:26 +00:00
2024-06-12 20:05:10 +00:00
2024-03-19 17:58:13 +00:00
2024-06-12 20:05:10 +00:00
2024-04-24 11:56:32 +00:00
2024-07-15 07:09:09 +00:00
2024-04-09 19:35:07 +00:00
2024-02-07 02:44:21 +00:00
2024-04-09 19:35:07 +00:00
2024-06-12 20:05:10 +00:00
2024-06-13 19:28:21 +00:00
2024-07-08 21:01:56 +00:00
2024-07-12 13:23:03 +00:00
2024-06-12 20:05:10 +00:00
2024-03-19 17:58:16 +00:00
2024-02-21 08:59:24 +00:00
2024-04-03 15:49:38 -07:00
2024-06-12 20:05:10 +00:00
2024-03-19 17:58:13 +00:00
2024-07-11 19:25:18 +00:00
2024-07-11 19:25:18 +00:00
2024-03-11 23:04:57 +00:00
2024-06-12 20:05:10 +00:00
2024-03-19 17:58:13 +00:00
2024-06-12 20:05:10 +00:00
2024-03-19 17:58:13 +00:00
2024-06-12 20:05:10 +00:00
2024-05-28 16:35:29 -07:00
2024-06-12 20:05:10 +00:00
2024-02-28 13:55:50 -08:00
2024-05-28 16:35:29 -07:00
2024-03-13 18:07:59 +00:00
2024-05-28 16:35:29 -07:00
2024-05-28 16:35:29 -07:00
2024-06-20 19:18:21 +00:00
2024-06-20 19:18:21 +00:00
2024-03-27 16:43:10 -07:00
2024-05-20 17:43:03 +00:00
2024-06-12 20:05:10 +00:00
2024-07-08 21:01:56 +00:00
2024-03-19 17:58:13 +00:00
2024-05-28 16:35:29 -07:00
2024-06-12 20:05:10 +00:00
2024-06-12 20:05:10 +00:00
2024-06-17 19:53:04 +00:00
2024-03-13 16:31:50 +00:00
2024-03-19 17:58:13 +00:00
2024-05-29 00:20:18 +00:00
2024-03-19 17:58:13 +00:00
2024-07-08 21:01:56 +00:00
2024-01-17 22:49:04 +00:00
2024-06-12 20:05:10 +00:00
2024-04-24 11:56:32 +00:00
2024-04-24 09:06:17 -07:00
2024-07-15 07:09:09 +00:00
2024-07-15 07:09:09 +00:00
2024-07-01 23:36:32 +00:00
2024-04-15 16:06:07 +00:00
2024-03-28 01:20:55 +00:00
2024-06-12 20:05:10 +00:00
2024-05-22 04:58:01 +00:00
2024-03-19 17:58:13 +00:00
2024-05-07 20:54:09 +00:00
2024-07-12 09:37:29 +00:00
2024-04-17 07:59:07 +00:00
2024-06-12 20:05:10 +00:00
2024-02-28 13:55:50 -08:00
2024-07-08 21:01:56 +00:00
2024-06-18 17:52:21 +00:00
2024-03-01 06:40:47 +00:00
2024-06-17 19:53:04 +00:00
2024-02-28 13:55:50 -08:00
2024-07-08 21:01:56 +00:00
2024-03-19 17:58:13 +00:00
2024-07-11 16:51:35 +00:00
2024-06-12 20:05:10 +00:00
2024-05-18 10:41:56 -07:00
2024-02-23 19:02:22 +00:00
2024-03-28 01:20:55 +00:00
2024-06-12 20:05:10 +00:00
2024-02-21 00:34:11 +00:00