Flutter自带的日期选择器是showDatePicker,时间选择器是showTimePicker。

这两个选择器默认的显示效果都是英文的,我们是在中国,那么就需要将其显示成中文版的,这就涉及到Flutter的国际化的问题。

关于Flutter的国际化,接下来我将为大家做详细讲解。

Flutter中的国际化

第一步:配置flutter_localizations依赖

找到pubspec.yaml,配置flutter_localizations

dependencies:
  flutter_sheet_localization: ^1.0.0

第二步:导入国际化的包flutter_localizations.dart

import 'package:flutter_localizations/flutter_localizations.dart';

在入口文件下添加設置

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
      return MaterialApp(
      home: new BottomNavigationWidget(),
      //配置如下两个国际化的参数
      localizationsDelegates: [
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate
      ],
      supportedLocales: [
        const Locale("zh", "CH"),
        const Locale("en", "US")
      ],
    );
  }
}    

在使用組件的下添加

//_代表私有,重寫私有的日曆組建
  _showDatePicker() {
    showDatePicker(
      context:context,//上下文必須傳入
      initialDate:_nowDate,//設置初始化日期
      firstDate: DateTime(1980),
      lastDate: DateTime(2100),
      locale: prefix0.Locale('zh')//中文显示
    ).then((val){
      setState(() {
        if(val!=null){
          //將獲得時間傳給變量
          this._nowDate =val;
        }
      });
    });
  }

詳細文章參考:https://www.jianshu.com/p/8356a3bc8f6c

01-07 08:02