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

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

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

Flutter中的国际化

第一步:配置flutter_localizations依赖

找到pubspec.yaml,配置flutter_localizations

dependencies:

  flutter_localizations:
   sdk: flutter

第二步:导入国际化的包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

05-28 13:08