我怎样才能在日历上推送当天更改页面? - 颤抖

问题描述

我正在制作一个日历应用程序,我希望能够根据日期在 horizontal scrollview 中推送日历日期的页面变化。我该怎么做?我正在使用 table_calendar 小部件。

我使用的包是:

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,events)=>
                      Container(
                        margin: const EdgeInsets.all(4.0),decoration: Boxdecoration(
                          color: Colors.grey,]
              )
              )
              
              )
              );
            
          
        
      
    }
    
  }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)