日期的展示与选择
class MyMonthSelector extends StatefulWidget {
@override
_MyMonthSelectorState createState() => _MyMonthSelectorState();
}
class _MyMonthSelectorState extends State<MyMonthSelector> {
late DateTime _selectedDate;
@override
void initState() {
super.initState();
_selectedDate = DateTime.now();
}
Future<void> _showDatePicker() async {
final pickedDate = await showDatePicker(
context: context,
initialDate: _selectedDate,
firstDate: DateTime(1900),
lastDate: DateTime(2100),
// locale: Locale('zh', 'CN'),
initialDatePickerMode: DatePickerMode.year,
builder: (BuildContext context, Widget? child) {
return Theme(
data: ThemeData.light(), // 设置日期选择器的主题
child: child!,
);
},
);
if (pickedDate != null) {
setState(() {
_selectedDate = DateTime(pickedDate.year, pickedDate.month);
});
}
}
@override
Widget build(BuildContext context) {
final formattedDate = DateFormat('yyyy年MM月').format(_selectedDate);
return InkWell(
onTap: _showDatePicker,
child: Container(
decoration: BoxDecoration(
color: Colors.transparent, // 设置透明背景颜色
),
child: Row(
children: [
Text(
formattedDate,
style: CustomTextStyle.text14_1,
),
Icon(Icons.expand_more, color: AppColors.back1Color)
],
),
),
);
}
}