Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 我怎样才能在日历上的某一天更改页面颤振_Flutter_Datetime_Calendar_Widget - Fatal编程技术网

Flutter 我怎样才能在日历上的某一天更改页面颤振

Flutter 我怎样才能在日历上的某一天更改页面颤振,flutter,datetime,calendar,widget,Flutter,Datetime,Calendar,Widget,我正在制作一个日历应用程序,我希望能够根据日期的不同,在水平滚动视图中推送日历的日期以改变页面。我怎么做?Im使用表格日历小部件 我使用的软件包有: import 'package:flutter/material.dart'; import 'package:intl/date_symbol_data_local.dart'; import 'package:intl/intl.dart'; import 'package:mrplan/widgets/back_button.dart'; i

我正在制作一个日历应用程序,我希望能够根据日期的不同,在
水平滚动视图中推送日历的日期以改变页面。我怎么做?Im使用
表格日历
小部件

我使用的软件包有:

import 'package:flutter/material.dart';
import 'package:intl/date_symbol_data_local.dart';
import 'package:intl/intl.dart';
import 'package:mrplan/widgets/back_button.dart';
import 'package:mrplan/widgets/task_container.dart';
import 'package:table_calendar/table_calendar.dart';
import 'dart:io';
我尝试过这种编码,但不起作用:

class CalendarPage1 extends StatefulWidget {
  @override
  _CalendarPage1State createState() => _CalendarPage1State();
}
PageController pageController = PageController(initialPage: _currentIndex,
  );
class _CalendarPage1State extends State<CalendarPage1> {

   Widget build(BuildContext context) {
     
      return Center(
        child: Container(
          child: SingleChildScrollView(
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: <Widget>[
                Card(
                  clipBehavior: Clip.antiAlias,
                  margin: const EdgeInsets.all(8.0),
                  child: TableCalendar(
                  calendarController: calendarcontrollera,
                  availableCalendarFormats: const{
                    CalendarFormat.month: 'mes',
                    CalendarFormat.week: 'semana',
                    CalendarFormat.twoWeeks: 'dos semanas'
                  },
                  initialCalendarFormat: CalendarFormat.week,
                  calendarStyle: CalendarStyle(
                    todayColor: Colors.blue[800],
                    selectedColor: Colors.grey,
                    todayStyle: TextStyle(
                      fontWeight: FontWeight.bold,
                      fontSize: 18.0
                      )
                      ),
                      headerStyle: HeaderStyle(
                        formatButtonVisible: false,
                        formatButtonPadding: EdgeInsets.symmetric(horizontal: 0.0),
                        formatButtonTextStyle: TextStyle(
                          locale: Locale('fr', 'CH')
                          ),
                        centerHeaderTitle: true,
                        formatButtonDecoration: BoxDecoration(
                        borderRadius: BorderRadius.circular(20.0)
                        )
                      ),
                      startingDayOfWeek: StartingDayOfWeek.monday,
                            onDaySelected: (date, events, eventos){
                      pageController.animateToPage(_currentIndex, duration: (Duration(milliseconds: 500)), curve: Curves.ease);
                    },
                    builders: CalendarBuilders(
                      selectedDayBuilder: (context,date, events) => 
                      Container(
                        margin: const EdgeInsets.all(4.0),
                        alignment: Alignment.center,
                        decoration: BoxDecoration(
                          color: Theme.of(context).primaryColor,
                          shape: BoxShape.circle,),
                        child: Text
                        (date.day.toString(), style: TextStyle(
                          color: Colors.white
                        )),
                        


                      ),
                      todayDayBuilder: (context, date, events)=>
                      Container(
                        margin: const EdgeInsets.all(4.0),
                        alignment: Alignment.center,
                        decoration: BoxDecoration(
                          color: Colors.grey,
                          shape: BoxShape.circle,),
                        child: Text
                        (date.day.toString(), style: TextStyle(
                          color: Colors.white
                        )),
                    ),
                  
                ),
    ),
              )
              
              ,]
              )
              )
              
              )
              );
            
          
        
      
    }
    
  }
class CalendarPage1扩展了StatefulWidget{
@凌驾
_CalendarPage1State createState()=>\u CalendarPage1State();
}
PageController PageController=PageController(初始页:_currentIndex,
);
类_CalendarPage1State扩展状态{
小部件构建(构建上下文){
返回中心(
子:容器(
子:SingleChildScrollView(
子:列(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
卡片(
clipBehavior:Clip.antiAlias,
边距:所有常数边集(8.0),
孩子:台历(
calendarController:calendarcontrollera,
availableCalendarFormats:const{
CalendarFormat.month:“mes”,
CalendarFormat.week:'semana',
CalendarFormat.twoWeeks:“dos semanas”
},
initialCalendarFormat:CalendarFormat.week,
calendarStyle:calendarStyle(
今天的颜色:颜色。蓝色[800],
selectedColor:Colors.grey,
今日风格:文本风格(
fontWeight:fontWeight.bold,
字体大小:18.0
)
),
headerStyle:headerStyle(
formatButtonVisible:false,
FormatButton添加:边集。对称(水平:0.0),
formatButtonTextStyle:TextStyle(
语言环境:语言环境('fr','CH')
),
是的,
FormatButton装饰:盒子装饰(
边界半径:边界半径。圆形(20.0)
)
),
星期一开始:星期一开始,
onDaySelected:(日期、事件、事件){
pageController.animateToPage(_currentIndex,duration:(duration(毫秒:500)),curve:Curves.ease);
},
生成器:日历生成器(
selectedDayBuilder:(上下文、日期、事件)=>
容器(
边距:所有常数边集(4.0),
对齐:对齐.center,
装饰:盒子装饰(
颜色:主题。背景。原色,
形状:长方形。圆形,),
子:文本
(date.day.toString(),样式:TextStyle(
颜色:颜色。白色
)),
),
todayDayBuilder:(上下文、日期、事件)=>
容器(
边距:所有常数边集(4.0),
对齐:对齐.center,
装饰:盒子装饰(
颜色:颜色。灰色,
形状:长方形。圆形,),
子:文本
(date.day.toString(),样式:TextStyle(
颜色:颜色。白色
)),
),
),
),
)
,]
)
)
)
);
}
}