date_tab_picker 0.1.0 copy "date_tab_picker: ^0.1.0" to clipboard
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)),
    );
  }
}
0
likes
25
pub points
0%
popularity

Publisher

unverified uploader

Flutter date tab picker - flexible date picker with tabBar functions.

License

MIT (LICENSE)

Dependencies

flutter, meta

More

Packages that depend on date_tab_picker