Taha Tesser
ba719bc588
Fix CalendarDatePicker day selection shape and overlay (#144317)
fixes [`DatePickerDialog` date entry hover background and ink splash have different radius](https://github.com/flutter/flutter/issues/141350)
fixes [Ability to customize DatePicker day selection background and overlay shape](https://github.com/flutter/flutter/issues/144220)
### 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 StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: Builder(builder: (context) {
return FilledButton(
onPressed: () {
showDatePicker(
context: context,
initialDate: DateTime.now(),
firstDate: DateTime.utc(2010),
lastDate: DateTime.utc(2030),
);
},
child: const Text('Show Date picker'),
);
}),
),
),
);
}
}
```
</details>
### Material DatePicker states specs

### Day selection overlay
| Before | After |
| --------------- | --------------- |
| <img src="https://github.com/flutter/flutter/assets/48603081/b529d38d-0232-494b-8bf2-55d28420a245" /> | <img src="https://github.com/flutter/flutter/assets/48603081/c4799559-a7ef-45fd-aed9-aeb386370580" /> |
### Hover, pressed, highlight preview
| Before | After |
| --------------- | --------------- |
| <video src="https://github.com/flutter/flutter/assets/48603081/8edde82a-7f39-4482-afab-183e1bce5991" /> | <video src="https://github.com/flutter/flutter/assets/48603081/04e1502e-67a4-4b33-973d-463067d70151" /> |
### Using `DatePickerThemeData.dayShape` to customize day selection background and overlay shape
| Before | After |
| --------------- | --------------- |
| <img src="https://github.com/flutter/flutter/assets/48603081/a0c85f58-a69b-4e14-a45d-41e580ceedce" /> | <img src="https://github.com/flutter/flutter/assets/48603081/db67cee1-d28d-4168-98b8-fd7a9cb70cda" /> |
### Example preview

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