using System; using System.Collections.Generic; using uiwidgets; using Unity.UIWidgets.cupertino; using Unity.UIWidgets.engine; using Unity.UIWidgets.painting; using Unity.UIWidgets.rendering; using Unity.UIWidgets.ui; using Unity.UIWidgets.widgets; using UnityEngine; using Color = Unity.UIWidgets.ui.Color; using Text = Unity.UIWidgets.widgets.Text; using ui_ = Unity.UIWidgets.widgets.ui_; using TextStyle = Unity.UIWidgets.painting.TextStyle; namespace UIWidgetsSample { public class DateAndTimePicker : UIWidgetsPanel { protected void OnEnable() { base.OnEnable(); } protected override void main() { ui_.runApp(new MyApp()); } class MyApp : StatelessWidget { public override Widget build(BuildContext context) { return new CupertinoApp( home: new DateAndTimePickerWidget() ); } } } public class DateAndTimePickerWidget : StatefulWidget { public override State createState() { return new DateAndTimePickerWidgetState(); } } public class DateAndTimePickerWidgetState : State { Widget _buildMenu(List children) { return new Container( decoration: new BoxDecoration( color: CupertinoTheme.of(this.context).scaffoldBackgroundColor, border: new Border( top: new BorderSide(color: new Color(0xFFBCBBC1), width: 0.0f), bottom: new BorderSide(color: new Color(0xFFBCBBC1), width: 0.0f) ) ), height: 44.0f, child: new Padding( padding: EdgeInsets.symmetric(horizontal: 16.0f), child: new SafeArea( top: false, bottom: false, child: new Row( //mainAxisAlignment: MainAxisAlignment.spaceBetween, children: children ) ) ) ); } DateTime dateTime = DateTime.Now; Widget _buildBottomPicker(Widget picker) { return new Container( height: 216f, width : 500f, padding: EdgeInsets.only(top: 6.0f), color: Colors.white, child: new DefaultTextStyle( style: new TextStyle( color: Colors.red, fontSize: 12.0f ), child: new GestureDetector( // Blocks taps from propagating to the modal sheet and popping. onTap: () => { }, child: new SafeArea( top: false, child: picker ) ) ) ); } Widget _buildDateAndTimePicker(BuildContext context) { return new GestureDetector( onTap: () => { CupertinoRouteUtils.showCupertinoModalPopup( context: context, builder: (BuildContext _context) => { return this._buildBottomPicker( new CupertinoTheme( data: new CupertinoThemeData( textTheme: new CupertinoTextThemeData( dateTimePickerTextStyle: new TextStyle( fontSize: 16, color: Color.fromARGB(255, 226, 255, 255) ) ) ), child :new CupertinoDatePicker( backgroundColor: Color.fromARGB(180, 0, 123, 255), mode: CupertinoDatePickerMode.dateAndTime, initialDateTime: this.dateTime, onDateTimeChanged: (DateTime newDateTime) => { this.setState(() => this.dateTime = newDateTime); } ) )); } ); }, child: new Text( this.dateTime.ToString("MMMM dd, yyyy h:mm tt"), style: new TextStyle(color: Colors.white) ) ); } public override Widget build(BuildContext context) { return new Container( color : Color.fromARGB(180, 0, 123, 255), child : this._buildDateAndTimePicker(context) ); } } }