如何解决我怎样才能在日历上推送当天更改页面? - 颤抖
我正在制作一个日历应用程序,我希望能够根据日期在 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 举报,一经查实,本站将立刻删除。