Как я могу изменить цвет фона CupertinoDatePicker

Я использую CupertinoDatePicker в моем приложении.

Container(
    height: 200,
    padding: const EdgeInsets.all(16.0),
    child: CupertinoDatePicker(
        mode: CupertinoDatePickerMode.date,
        minimumYear: DateTime.now().year,
        onDateTimeChanged: (DateTime value) {
        print(value);
        },
    )

Приложение использует MaterialApp (MaterialTheme). Есть ли способ изменить цвет фона CupertinoDatePicker?

Это то, что я пытался (обернуть CupertinoDatePicker вокруг CupertinoTheme и установить цвет на черный), и это не работает.

Container(
    height: 200,
    padding: const EdgeInsets.all(16.0),
    child: CupertinoTheme(
        data: CupertinoThemeData(
            primaryColor: Colors.black),
        child: CupertinoDatePicker(
        mode: CupertinoDatePickerMode.date,
        minimumYear: DateTime.now().year,
        onDateTimeChanged: (DateTime value) {
            print(value);
        },
        ),
    ),
)

0 ответов

На момент написания этой статьи это невозможно, и в исходном коде есть комментарий для date_picker.dart это гласит:

// Рассматривает возможность установки цвета фона по умолчанию из темы в будущем. const Color _kBackgroundColor = CupertinoColors.white;

На момент написания этой статьи Flutter добавил свойство backgroundColor в CupertinoDatePicker на главном канале. См. https://github.com/flutter/flutter/commit/19cdb21cb67acf51fb9b4e4e7a367d0bcd82fc7b Он поддерживается в следующих версиях: master (#39056.101 v1.101 v1.101 v1.101 v1.101 v1.101 v1.12, v1.10..10.8 v1.10.7 v1.10.6 v1.10.5 v1.10.4 v1.10.3 v1.10.2 v1.10.1 v1.10.0 v1.9.7 v1.9.6

Вы можете установить backgroundColor следующим образом:

CupertinoTimerPicker(
     backgroundColor: Colors.black,
     initialTimerDuration: timer,
     mode: CupertinoTimerPickerMode.hms,
     onTimerDurationChanged: (Duration newTimer) {
                                       setState(() {
                                       timer = newTimer;
                     });

Если вы выберете темную тему для своего приложения flutter, цвет текста CupertinoDatePicker изменится на белый.

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