Flutter 如何在flatter中显示一个容器中的日期和工作日
这是一个关于如何自定义表格日历以及如何在一个容器中显示日期的问题。Flutter 如何在flatter中显示一个容器中的日期和工作日,flutter,dart,calendar,containers,Flutter,Dart,Calendar,Containers,这是一个关于如何自定义表格日历以及如何在一个容器中显示日期的问题。import'package:flatter/material.dart'; import 'package:flutter/material.dart'; import 'package:table_calendar/table_calendar.dart'; class CalendarScreen extends StatefulWidget { @override CalendarScreenState createSta
import'package:flatter/material.dart';
import 'package:flutter/material.dart';
import 'package:table_calendar/table_calendar.dart';
class CalendarScreen extends StatefulWidget {
@override
CalendarScreenState createState() {
return CalendarScreenState();
}
}
class CalendarScreenState extends State<CalendarScreen> {
CalendarController controller = CalendarController();
var arr = new List(7);
@override
Widget build(BuildContext context) {
arr[0] = "Mon";
arr[1] = "Tue";
arr[2] = "Wed";
arr[3] = "Thu";
arr[4] = "Fri";
arr[5] = "Sat";
arr[6] = "Sun";
return Scaffold(
body: Center(
child: TableCalendar(
calendarController: controller,
initialCalendarFormat: CalendarFormat.week,
headerVisible: false,
builders: CalendarBuilders(
// week days
dowWeekdayBuilder: (context, weekday) {
return Container();
},
// dates
dayBuilder: (context, date, events) {
print(date.month);
return Container(
// color: Colors.green,
margin: EdgeInsets.fromLTRB(5, 0, 5, 0),
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(6)),
border: Border.all(color: const Color(0xffd6edff), width: 1)),
child: Column(
children: [
_showDate(date),
_showWeek(date),
],
),
// ),
// )),
);
//);
},
),
),
));
}
Widget _showDate(DateTime date) {
return Container(
padding: EdgeInsets.all(2), child: Text(arr[date.weekday - 1]));
}
Widget _showWeek(DateTime date) {
return Container(padding: EdgeInsets.all(2), child: Text('${date.day}'));
}
}
导入“package:table_calendar/table_calendar.dart”;
类CalendarScreen扩展StatefulWidget{
@凌驾
CalendarScreenState createState(){
返回日历屏幕状态();
}
}
类CalendarScreenState扩展状态{
CalendarController=CalendarController();
var arr=新列表(7);
@凌驾
小部件构建(构建上下文){
arr[0]=“Mon”;
arr[1]=“星期二”;
arr[2]=“Wed”;
arr[3]=“Thu”;
arr[4]=“Fri”;
arr[5]=“Sat”;
arr[6]=“太阳”;
返回脚手架(
正文:中(
孩子:台历(
日历控制器:控制器,
initialCalendarFormat:CalendarFormat.week,
头像:错,
生成器:日历生成器(
//星期日
dowWeekdayBuilder:(上下文,工作日){
返回容器();
},
//日期
dayBuilder:(上下文、日期、事件){
打印(日期、月份);
返回容器(
//颜色:颜色。绿色,
边距:从LTRB(5,0,5,0)开始的边距集,
装饰:盒子装饰(
borderRadius:borderRadius.all(半径.圆形(6)),
边框:border.all(颜色:常量颜色(0xffd6edff),宽度:1)),
子:列(
儿童:[
_显示日期(日期),
_展览周(日期),
],
),
// ),
// )),
);
//);
},
),
),
));
}
小部件_showDate(日期时间日期){
返回容器(
填充:EdgeInsets.all(2),child:Text(arr[date.weekday-1]);
}
小部件_showWeek(日期时间日期){
返回容器(padding:EdgeInsets.all(2),child:Text(“${date.day}”);
}
}