如何在flutter中用程序选择日期选择器



我简单地创建了一个演示来理解package'package:date_picker_timeline/date_picker_timeline.dart'

我在这里放置了DatePicker和3个带标题的文本按钮昨天今天和明天

比如,我选择了昨天,日期选择器应该显示昨天的日期作为所选的

那么我应该对文本按钮的onPressed实现什么

这是我的代码


class _HomeScreen2State extends State<HomeScreen2> {
DateTime selecteddate=DateTime.now();
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
body: Column(
children: [
Container(
width: double.infinity,
decoration: BoxDecoration(
color: Colors.grey,
borderRadius: BorderRadius.circular(20),
),
child: DatePicker(
DateTime.now(),
initialSelectedDate: selecteddate,
selectionColor: Colors.black,
selectedTextColor: Colors.white,
onDateChange: (date) {
},
),
),
Text('You have selectedn'+DateFormat.yMMMd().format(selecteddate).toString()),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
TextButton(onPressed: (){
//what code to write here to achieve it
}, child: Text('Yesterday')),
TextButton(onPressed: (){
//what code to write here to achieve it
}, child: Text('Today')),
TextButton(onPressed: (){
//what code to write here to achieve it
}, child: Text('Tomorrow'))
],)
],
),
),
);
}
}

要使日期选择器根据昨天今天明天选择日期,您可以很容易地将每个按钮的initialSelectedDateonPressed更新为相应的日期

TextButton(
onPressed: () {
setState(() {
selecteddate = DateTime.now().subtract(const Duration(days: 1));
controller.animateToDate(selecteddate);
});
}, 
child: const Text('Yesterday'),
),

添加控制器将日期动画化为所选日期,但不设置活动颜色

最新更新