我正在尝试更改日期选择器的颜色,但其中仍然有蓝色。我做了很多尝试,但是找不到能改变蓝色的代码(见下文)。
文本:“输入日期”,下划线以及“取消和确定”按钮应全部为蓝绿色。
到目前为止,这是我的代码。感谢您的支持!
TextEditingController _dateController = new TextEditingController();
DateTime selectedDate = DateTime.now();
var myFormat = DateFormat('d-MM-yyyy');
Future<void> _selectDate(BuildContext context) async {
final DateTime picked = await showDatePicker(
context: context,
initialDate: selectedDate,
firstDate: DateTime(1930),
lastDate: DateTime(2022),
builder: (BuildContext context, Widget child) {
return Theme(
data: ThemeData.light().copyWith(
colorScheme: ColorScheme.fromSwatch(
primarySwatch: Colors.teal,
primaryColorDark: Colors.teal,
accentColor: Colors.teal,
),
dialogBackgroundColor:Colors.white,
),
child: child,
);
},
);
if (picked != null && picked != selectedDate)
setState(() {
selectedDate = picked;
});
}
答案 0 :(得分:1)
这可能是反复试验的结果。我确实希望每个小部件都使用哪些主题属性。
例如,我必须对DropDownButton使用ThemeData.canvasColor。似乎colorScheme属性都没有影响该小部件,因此ThemeData中的某些内容可能会对您有所帮助(并且有很多属性)
也许这些?看来日期应该是TextField。
textSelectionColor→颜色 文本字段(例如TextField)中文本选择的颜色。 最后 textSelectionHandleColor→颜色 用于调整当前所选文本部分的手柄的颜色。 最终
答案 1 :(得分:0)
改为尝试
TextEditingController _dateController = new TextEditingController();
DateTime selectedDate = DateTime.now();
var myFormat = DateFormat('d-MM-yyyy');
Future<void> _selectDate(BuildContext context) async {
final DateTime picked = await showDatePicker(
context: context,
initialDate: selectedDate,
firstDate: DateTime(1930),
lastDate: DateTime(2022),
builder: (BuildContext context, Widget child) {
return Theme(
data: ThemeData.light().copyWith(
colorScheme: ColorScheme.fromSwatch(
primarySwatch: Colors.teal,
primaryColorDark: Colors.teal,
accentColor: Colors.teal,
),
dialogBackgroundColor:Colors.white,
),
child: child,
);
},
);
if (picked != null && picked != selectedDate)
setState(() {
selectedDate = picked;
});
}