📅  最后修改于: 2023-12-03 15:00:49.038000             🧑  作者: Mango
Flutter是一个开放源代码的移动应用程序开发框架,由Google开发和维护,主要用于开发Android和iOS应用,也可以用于开发Web应用程序和桌面应用程序。
在Flutter中,我们可以轻松地实现日夜时间选择器,以便用户可以选择他们喜欢的时间。
以下是实现Flutter中日夜时间选择器的步骤:
要使用Flutter中的日夜时间选择器,我们需要导入以下包:
import 'package:flutter/material.dart';
import 'package:flutter_cupertino_date_picker/flutter_cupertino_date_picker.dart';
创建一个Stateful Widget来管理日夜时间选择器的状态。以下是一个基本的例子:
class TimePicker extends StatefulWidget {
const TimePicker({Key? key}) : super(key: key);
@override
_TimePickerState createState() => _TimePickerState();
}
class _TimePickerState extends State<TimePicker> {
DateTime _dateTime = DateTime.now();
@override
Widget build(BuildContext context) {
return Column(
children: [
Text("选择时间"),
ElevatedButton(
onPressed: () {
_showDatePicker(context);
},
child: Text("选择"),
),
Text("选择的时间:${_dateTime.toString()}"),
],
);
}
void _showDatePicker(BuildContext context) {
DatePicker.showDatePicker(
context,
minDateTime: DateTime.parse("2022-01-01"),
maxDateTime: DateTime.parse("2022-12-31"),
initialDateTime: _dateTime,
dateFormat: "yyyy-MMMM-dd",
locale: DateTimePickerLocale.zh_cn,
pickerTheme: DateTimePickerTheme(
showTitle: true,
confirm: Text("确定", style: TextStyle(color: Colors.red)),
cancel: Text("取消", style: TextStyle(color: Colors.cyan)),
),
onCancel: () {},
onChanged: (dateTime, selectedIndex) {
setState(() {
_dateTime = dateTime;
});
},
onConfirm: (dateTime, selectedIndex) {
setState(() {
_dateTime = dateTime;
});
},
);
}
}
我们可以在需要显示日夜时间选择器的地方添加步骤2中创建的Stateful Widget。
void main() => runApp(
MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(
child: TimePicker(),
),
),
),
);
现在,我们可以在屏幕上看到一个“选择”按钮,点击它会弹出一个日夜时间选择器,用户可以从中选择他们喜欢的时间。
import 'package:flutter/material.dart';
import 'package:flutter_cupertino_date_picker/flutter_cupertino_date_picker.dart';
class TimePicker extends StatefulWidget {
const TimePicker({Key? key}) : super(key: key);
@override
_TimePickerState createState() => _TimePickerState();
}
class _TimePickerState extends State<TimePicker> {
DateTime _dateTime = DateTime.now();
@override
Widget build(BuildContext context) {
return Column(
children: [
Text("选择时间"),
ElevatedButton(
onPressed: () {
_showDatePicker(context);
},
child: Text("选择"),
),
Text("选择的时间:${_dateTime.toString()}"),
],
);
}
void _showDatePicker(BuildContext context) {
DatePicker.showDatePicker(
context,
minDateTime: DateTime.parse("2022-01-01"),
maxDateTime: DateTime.parse("2022-12-31"),
initialDateTime: _dateTime,
dateFormat: "yyyy-MMMM-dd",
locale: DateTimePickerLocale.zh_cn,
pickerTheme: DateTimePickerTheme(
showTitle: true,
confirm: Text("确定", style: TextStyle(color: Colors.red)),
cancel: Text("取消", style: TextStyle(color: Colors.cyan)),
),
onCancel: () {},
onChanged: (dateTime, selectedIndex) {
setState(() {
_dateTime = dateTime;
});
},
onConfirm: (dateTime, selectedIndex) {
setState(() {
_dateTime = dateTime;
});
},
);
}
}
void main() => runApp(
MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(
child: TimePicker(),
),
),
),
);
以上就是Flutter中日夜时间选择器的简单介绍和实现步骤。