【笔记】flutter 日历年月日自定义国际化显示
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
class CustomDatePicker extends StatefulWidget {
@override
_CustomDatePickerState createState() => _CustomDatePickerState();
}
class _CustomDatePickerState extends State<CustomDatePicker> {
DateTime _selectedDate = DateTime.now();
void _selectDate(BuildContext context) async {
final DateTime picked = await showDatePicker(
context: context,
initialDate: _selectedDate,
firstDate: DateTime(2020),
lastDate: DateTime(2030),
builder: (BuildContext context, Widget child) {
return Theme(
data: ThemeData.light(),
child: child,
);
},
);
if (picked != null && picked != _selectedDate) {
setState(() {
_selectedDate = picked;
});
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Text(
'${DateFormat('yyyy-MM-dd').format(_selectedDate)}',
style: TextStyle(fontSize: 24),
),
),
floatingActionButton: FloatingActionButton(
onPressed: () => _selectDate(context),
child: Icon(Icons.calendar_today),
),
);
}
}
这段代码定义了一个自定义日期选择器组件,它使用showDatePicker
函数来展示一个日期选择对话框。用户可以选择从2020年到2030年间的任何日期,并且选定的日期会以yyyy-MM-dd
格式显示在屏幕中央。这个例子展示了如何使用intl
包进行国际化的日期格式化,并且演示了如何使用Theme
来自定义对话框的样式。
评论已关闭