@[TOC]( 浅识Flutter 基本组件之showTimePicker ()方法)
showTimePicker ()方法用于弹出一个时间选择器对话框,该对话框有系统默认的样式,也可以通过builder属性设置自定义样式。在用户选择时间后,返回一个TimeOfDay类型的数据。它的常用属性及功能说明如下表。
属性名 | 类型 | 功能说明 |
---|---|---|
context | BuildContext | 设置BuildContext |
initialTime | TimeOfDay | 设置时间选择器打开时默认时间 |
builder | Widget | 设置时间选择器主题.标题栏等样式 |
Row(children: <Widget>[
Text("左脚进门的时间: "),
Text(time+' '),
FloatingActionButton(
onPressed: () {
showTime(context);
},
backgroundColor: Colors.white,
child: Icon(Icons.access_time_outlined, color: Colors.grey ),
),
]),
//定义一个弹出日期选择器的方法showdata
String time = TimeOfDay.fromDateTime(DateTime.now()).toString();//取得当前系统的时间
Future<TimeOfDay?> showTime(context) async{
// async异步调用的方法 需要等showDatePicker执行完 加上await
TimeOfDay? t =await showTimePicker(context: context, initialTime: TimeOfDay.fromDateTime(DateTime.now()));
}
将选择的时间显示出来
/*将选择日期显示出来*/
setState(() {
String? apm=t?.period.toString()=='DayPeriod.am'?'上午':'下午';
time= apm+t.toString().substring(10,15);
});
完整代码
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class zhucepage extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return MyState();
}
}
class MyState extends State {
List flag = [false, false, false];
List select = ['皇后', '华妃'