日期选择器

一个 Flutter 小部件库,可以帮助我们选择一周中的几天。

截图

Screenshot week day picker Screenshot week day picker

用法

day_picker添加到您的pubspec.yaml文件中。

    flutter:
      sdk: flutter
    day_picker: 1.0.1

导入包

import 'package:day_picker/day_picker.dart';

下面是day_picker的构造函数。

    SelectWeekDays({
    @required this.onSelect,
    this.backgroundColor,
    this.daysFillColor,
    this.daysBorderColor,
    this.selectedDayTextColor,
    this.unSelectedDayTextColor,
    this.border = true,
    this.boxDecoration,
    this.padding = 8.0,
    Key key,
  })  : assert(onSelect != null),
        super(key: key);

这里的示例创建了一个具有以下样式的day_picker(带渐变且无边框)。

Screenshot week day picker

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Select days in week"),
      ),
      body: Center(
        child: Padding(
          padding: const EdgeInsets.all(8.0),
          child: SelectWeekDays(
            border: false,
            boxDecoration: BoxDecoration(
              borderRadius: BorderRadius.circular(30.0),
              gradient: LinearGradient(
                begin: Alignment.topLeft,
                colors: [const Color(0xFFE55CE4), const Color(0xFFBB75FB)],
                tileMode:
                    TileMode.repeated, // repeats the gradient over the canvas
              ),
            ),
            onSelect: (values) { // <== Callback to handle the selected days
                print(values);
            },
          ),
        ),
      ),
    );

将一个回调传递给onSelect属性,参数类型为List<String>

示例

void handleOnSelect(List<String> value){
    //TODO: Manipulate the List of days selected
    print(value);
}

自定义

属性 类型 描述
onSelect List<String> 选择日期时调用的回调
padding 双精度 容器和按钮之间的填充(默认值为8.0)
boxdecoration BoxDecoration 提供了多种方式来设置背景容器的样式(渐变、颜色、圆角半径)
backgroundColor 颜色 用于更改容器颜色的属性
daysFillColor 颜色 用于更改所选日期时圆角的颜色的属性
daysBorderColor 颜色 用于更改圆角按钮边框颜色的属性
selectedDayTextColor 颜色 用于更改所选日期文本颜色的属性
unSelectedDayTextColor 颜色 用于更改未选日期时文本颜色的属性
border 布尔值 如果圆角按钮周围不需要边框,请将此属性设置为false(默认值为true)

贡献

任何形式的贡献都非常受欢迎!随意分叉并改进day_picker或打开一个问题。

GitHub

https://github.com/shan-shaji/day_picker