吐槽一下: csdn 代码块没有flutter语言,格式乱糟糟的
pubspec.yaml
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
main.dart
import 'package:flutter_localizations/flutter_localizations.dart';
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Tabs(),
onGenerateRoute: onGenerateRoute,
initialRoute: '/',
localizationsDelegates: [
//此处
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
supportedLocales: [
//此处
const Locale('zh', 'CH'),
const Locale('en', 'US'),
],
);
TimePicker.dart
DateTime _nowDate = DateTime.now();
var _nowTime = TimeOfDay(hour: 08, minute: 00);
_showDatePicker() async {
var result = await showDatePicker(
context: context,
initialDate: _nowDate,
firstDate: DateTime(1980),
lastDate: DateTime(2100),
locale: Locale('zh'),
);
setState(() {
if (result == null) return;
_nowDate = result;
});
}
_showTimePicker() async {
var result = await showTimePicker(
context: context,
initialTime: _nowTime,
builder: (BuildContext context, Widget? child) {
return Localizations(
locale: const Locale('zh'),
child: child,
delegates: <LocalizationsDelegate>[
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
);
},
);
setState(() {
if (result == null) return;
_nowTime = result;
});
}
InkWell(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("${formatDate(_nowDate, [yyyy, '-', mm, '-', dd])}"),
Icon(Icons.arrow_drop_down),
],
),
onTap: _showDatePicker,
),
InkWell(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("${_nowTime.format(context)}"),
Icon(Icons.arrow_drop_down),
],
),
onTap: _showTimePicker,
),
|