【问题标题】:Flutter - showDatePicker set first day of week to MondayFlutter - showDatePicker 将一周的第一天设置为星期一
【发布时间】:2020-01-18 09:08:19
【问题描述】:

我正在使用颤振showDatePicker 小部件https://api.flutter.dev/flutter/material/showDatePicker.html

当日期选择器弹出默认加载一周的开始是星期日时,我想将其更改为星期一。

关于如何实现这一点的任何建议?

Future<void> _selectDate(BuildContext context) async {
    final DateTime picked = await showDatePicker(
      context: context,
      initialDate: _selectedDate,
      firstDate: firstDate,
      lastDate: lastDate,
      locale: const Locale('en', 'GB'),
    );
    if (picked != null && picked != _selectedDate) {
      // update the calendar slider with new date
      setState(() {
        _selectedDate = picked.add(Duration(hours: 1));
      });
    }

【问题讨论】:

    标签: flutter


    【解决方案1】:

    添加一个locale,使用星期一作为一周的第一天,例如:

      Future<DateTime> selectedDate = showDatePicker(
        context: context,
        locale: const Locale('en', 'GB'),
        // etc
    

    您还必须添加本地化库,如here 所述,将其添加到您的MaterialApp

      localizationsDelegates: GlobalMaterialLocalizations.delegates,
      supportedLocales: [
        const Locale('en', 'US'),
        const Locale('en', 'GB'),
      ],
    

    【讨论】:

    • 您好,谢谢您的回复,我已经尝试了上面的代码,但是没有发生任何变化。
    • 将本地化包添加到您的应用中
    • 是否可以在不添加影响整个应用的内容的情况下进行更改?
    猜你喜欢
    • 2019-08-30
    • 1970-01-01
    • 2013-11-30
    • 2015-12-11
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多