更改 Cupertino 日期选择器的文本颜色

问题描述

下面附上我当前用于更改 CupertinoDatePicker 文本颜色代码

Container(
                decoration:
                    Boxdecoration(borderRadius: BorderRadius.circular(12)),height: MediaQuery.of(context).size.height * 0.18,child: CupertinoTheme(
                  data: CupertinoThemeData(
                    textTheme: CupertinoTextThemeData(
                        pickerTextStyle: TextStyle(
                      color: Color(0xffB59CCF),)),),child: CupertinoDatePicker(

但是,颜色没有改变,如下所示:

CupertinoDatePicker Color Unchanged

我在 main.dart 中的主题如下:

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        textTheme: TextTheme(
          bodyText1: TextStyle(),bodyText2: TextStyle(),).apply(
            bodyColor: Colors.white.withOpacity(0.87),displayColor: Colors.white.withOpacity(0.87)),primaryColor: Colors.white,secondaryHeaderColor: Colors.white.withOpacity(0.60),backgroundColor: Color(0xff111016),elevatedButtonTheme: ElevatedButtonThemeData(
          style: ElevatedButton.styleFrom(
              padding: EdgeInsets.all(15),shape: CircleBorder(),elevation: 6,onPrimary: Color(0xff04072E),primary: Colors.yellow[100],textStyle: TextStyle(fontSize: 21)),

我不确定是什么导致 CupertinoDatePicker 的文本颜色为黑色,但我希望它改变颜色。任何帮助表示赞赏!谢谢!

改成dateTimePickerTextStyle后,出现如下情况:

Cupertino DatePicker Crammed up

解决方法

您正在寻找的是

dateTimePickerTextStyle: TextStyle(color: Colors.white),

此属性是 CupertinoTextThemeData 的一部分。

所以你的代码应该是这样的,

CupertinoTheme(
  data: CupertinoThemeData(
    textTheme: CupertinoTextThemeData(
      dateTimePickerTextStyle: TextStyle(color: Colors.white),),child: CupertinoDatePicker(
    onDateTimeChanged: (_) {},)

来自官方文档,

内容文本以 CupertinoTextThemeData.dateTimePickerTextStyle 显示。

,

使用 dateTimePickerTextStyle 而不是 pickerTextStyle

这是工作代码

          CupertinoTheme(
            data: CupertinoThemeData(
              textTheme: CupertinoTextThemeData(
                dateTimePickerTextStyle: TextStyle(
                  color: Colors.red,child: CupertinoDatePicker(
              minimumDate: DateTime.now(),minuteInterval: 1,mode: CupertinoDatePickerMode.dateAndTime,onDateTimeChanged: (DateTime dateTime) {
                print("dateTime: ${dateTime}");
              },);

请参考CupertinoTextThemeData

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...