flutter - Flutter:如何在 Flutter 中做这种 UI 来选择日期
解决方案
我希望这段代码对你有用。您只需要在此文本字段上添加您的日期选择器逻辑。
body: Container(
child: Row(
children: [
Container(
width: 5,
),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("Start Date"),
GestureDetector(
onTap: () {
selectDate(context);
},
child: AbsorbPointer(
absorbing: true,
child: TextFormField(
style: TextStyle(color: Colors.black),
controller: startdata,
decoration: InputDecoration(
suffixIcon:
Icon(Icons.calendar_today, color: Colors.blue)),
),
),
)
],
)),
Container(
width: 5,
),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("End Date"),
GestureDetector(
onTap: () {
// Your second date picker logic
},
child: AbsorbPointer(
absorbing: true,
child: TextFormField(
controller: enddata,
decoration: InputDecoration(
suffixIcon:
Icon(Icons.calendar_today, color: Colors.blue)),
),
),
)
],
)),
Container(
width: 5,
),
],
)),
选择日期
TextEditingController startdata = new TextEditingController();
TextEditingController enddata = new TextEditingController();
DateTime selectedDate = DateTime.now();
var myFormat = DateFormat('yyyy-MM-dd');
Future selectDate(BuildContext context) async {
final DateTime picked = await showDatePicker(
context: context,
initialDate: selectedDate,
firstDate: selectedDate,
lastDate: DateTime(2101),
builder: (BuildContext context, Widget child) {
return Theme(
data: ThemeData.light().copyWith(
primaryColor: WidgetColors.buttonColor,
accentColor: WidgetColors.buttonColor,
colorScheme: ColorScheme.light(primary: WidgetColors.buttonColor),
buttonTheme: ButtonThemeData(textTheme: ButtonTextTheme.primary),
),
child: child,
);
},
);
if (picked != null) {
setState(() {
selectedDate = picked;
startdata = TextEditingController(text: myFormat.format(picked),);
});
} else {}
}
推荐阅读
- php - PHPUnit 的代码覆盖率不包括执行的方法
- python-3.x - 使用 tf.data.experimental.CsvDataset 更新已弃用的 tensorflow 数据集滑动窗口的指令
- sequence - 填充包含 NaN 的序列
- javascript - 使用 JSON 坐标在传单地图上绘制国家边界
- java - 应用程序代码中的逻辑问题 - 总和不正确
- c - 从 C 中的文本文件中读取逗号分隔的数字(坐标)
- python - 字符 b 附加到 numpy 数组的输出?
- python - 如何使用列表和字典将字符串转换为二进制代码
- reactjs - 创建 React App V2 - 多个入口点
- android - 错误:无法解决:com.google.firebase:firebase-core:16.1.0