Flutter中showDatePicker&showTimePicker国际化(设置中文)

showDatePicker&showTimePicker国际化

Flutter 中避免不了使用日期、时间选择器,这里咱们使用官方showDatePickershowTimePickerui

要想使得这两个组件为中文的先决条件为项目加入国际化(flutter_localizations)。code

添加国际化

/pubspec.yaml中:ci

...
dependencies:
  flutter:
    sdk: flutter
  flutter_localizations: # 添加
    sdk: flutter         # 添加
...

/lib/main.dart中:get

import 'package:flutter_localizations/flutter_localizations.dart'; // 添加

// MaterialApp中加入
...
localizationsDelegates: [
  GlobalMeterialLocalizations.delegate,
  GlobalWidgetsLocalizations.delegate,
],
supportedLocales: [
    const Locale('zh', 'CH'),
    const Locale('en', 'US'),
],
locale: const locale('zh'),
...

showDatePicker

默认使用MaterialApp设置中的。
showDatePicker提供了locale参数,若是有须要能够继续更改。it

showTimePicker

默认使用MaterialApp设置中的。
showTimePicker没有提供locale参数,若是想改变语言可使用:io

await showTimePicker(
    context: context,
    initialTime: TimeOfDay.now(),
    builder: (BuildContext context, Widget child) {
        return Localizations(
            locale: const Locale('zh'),
            child: child,
            delegates: <LocalizationsDelegate>[
                GlobalMeterialLocalizations.delegate,
                GlobalWidgetsLocalizations.delegate,
            ]
        )
    }
)
相关文章
相关标签/搜索