【问题标题】:How to show Date and weekday in one container in flutter如何在一个容器中显示日期和工作日
【发布时间】:2020-11-18 07:54:16
【问题描述】:

关于如何自定义表格日历以及如何在一个容器中显示日期和日期的问题。

【问题讨论】:

    标签: flutter dart calendar containers


    【解决方案1】:
    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}'));
     }
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-26
      • 1970-01-01
      • 2015-01-16
      • 1970-01-01
      相关资源
      最近更新 更多