Как изменить цвет DatePicker в Material 3 Flutter

У меня есть этот класс для средства выбора даты:

    DateTime? selectedDate = await showDatePicker(
      context: context,
      initialDate: initialDate ?? DateTime.now(),
      firstDate: firstDate ?? DateTime(1900),
      lastDate: lastDate ?? DateTime.now().add(Duration(days: 3650)),
      builder: (context, child) {
        return Theme(
          data: ThemeData.light().copyWith(
            colorScheme: const ColorScheme.light(
              onPrimary: Colors.white,
              onSurface: Colors.white,
              primary: Color(0xff11619c),
            ),
            dialogBackgroundColor: Color(0xff5994c7),
            dialogTheme: DialogTheme(
              shape: RoundedRectangleBorder(
                borderRadius: BorderRadius.circular(16.0),
              ),
            ),
            textButtonTheme: TextButtonThemeData(
              style: TextButton.styleFrom(
                textStyle: TextStyle(
                  color: Colors.white,
                  fontWeight: FontWeight.normal,
                  fontSize: ScreenUtil().setSp(AppSize.textSize12),
                  fontFamily: 'Quicksand',
                ),
                foregroundColor: Colors.white,
                backgroundColor: Color(0xff5994c7),
                // backgroundColor: Color(0xff5994c7),
                shape: RoundedRectangleBorder(
                  side: const BorderSide(
                    color: Colors.transparent,
                    width: 1,
                    style: BorderStyle.solid,
                  ),
                  borderRadius: BorderRadius.circular(50),
                ),
              ),
            ),
          ),
          child: child!,
        );
      },
    );

Это был мой выбор даты перед обновлением флаттера:

Но после обновления и изменения Материала 2 на Материал 3 средство выбора даты:

Как я могу восстановить первый вариант средства выбора даты?

Я попробовал варианты из документации, но это не сработало.

Хотите ли вы восстановить средство выбора даты, продолжая использовать Материал 3, или хотите вернуться к Материалу 2?

Dhafin Rayhan 28.02.2024 14:27

Оберните свой виджет DatePickerTheme, чтобы установить тему.

gioravered 28.02.2024 14:37

Я хочу использовать Материал 3

Axolotl 28.02.2024 15:15
0
3
177
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Установите пользовательское DatePickerThemeData для свойства datePickerTheme объекта ThemeData.

data: ThemeData.light().copyWith(
  // ...
  datePickerTheme: DatePickerThemeData(
    headerBackgroundColor: Color(0xff11619c),
    backgroundColor: Color(0xff5994c7),
  ),
),

Совет: Большинство параметров стиля, которые вам нужны для выбора даты, на самом деле находятся в этом классе DatePickerThemeData.

Другие вопросы по теме