date_tab_picker 0.1.0 date_tab_picker: ^0.1.0 copied to clipboard
Flutter date tab picker - flexible date picker with tabBar functions.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:date_tab_picker/date_tab_picker.dart';
import 'package:date_tab_picker/date_util.dart';
import 'package:date_tab_picker/datePicker/src/date_picker_theme.dart';
void main() => runApp(new ExampleApp());
class ExampleApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
theme: new ThemeData(
primarySwatch: Colors.blueGrey,
),
home: new MainScreen(),
);
}
}
class MainScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: AppBar(title: Text('DateTabPicker')),
backgroundColor: Color(0xFFF5F5F5),
body: Container(
padding: EdgeInsets.only(top: 5),
child: Column(
children: <Widget>[
DateTabPicker(
daysCount: 7,
// daysCount: -7,
tabBuilder: _biuldTab,
calendar: _buildCalendar(),
onDatePicked: (DateTime date) {
print(
"current picked date is : ${DateUtil.formatDate(date, format: DateFormats.mo_d)}");
},
tabConfig: TabBarConfig(
// indicatorColor: Color(0xFF722ED1)
indicatorColor: Colors.transparent),
pickerConfig: DatePickerConfig(
pickerTheme: DateTimePickerTheme(
confirmTextStyle: TextStyle(color: Color(0xFF722ED1)),
cancelTextStyle: TextStyle(color: Color(0xFF722ED1)),
itemTextStyle: TextStyle(
color: Color(0xFF303133),
fontWeight: FontWeight.bold),
),
minDateTime: DateTime.now()),
)
],
)),
);
}
Widget _biuldTab(DateTime date, bool isPicked) {
Color pickColor = isPicked ? Color(0xFF722ED1) : Color(0xFFC0C4CC);
String _date = DateUtil.formatDate(date, format: DateFormats.mo_d)
.replaceAll('-', '/');
String day = DateUtil.getZHWeekDay(date).split('').last;
return Container(
color: Colors.white,
height: 50,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Container(
margin: EdgeInsets.only(bottom: 2),
child: Text(day,
style: TextStyle(
color: pickColor,
fontSize: 12,
fontWeight: FontWeight.bold))),
Text(_date,
style: TextStyle(
color: pickColor,
fontSize: 12,
fontWeight: FontWeight.bold))
],
));
}
Widget _buildCalendar() {
return Container(
decoration: BoxDecoration(
border: Border(
left: BorderSide(
width: 0.5, color: Color(0xFFC0C4CC).withOpacity(0.5)))),
width: 50,
height: 50,
child: Icon(Icons.calendar_today, color: Color(0xFF722ED1)),
);
}
}