private void InitialiseElements() { Label labelTitle = new Label() { Text = "Edit", FontSize = 24, FontFamily = "Roboto", TextColor = Constants.TextColor, HorizontalTextAlignment = TextAlignment.Center }; Label labelStarted = new Label() { Text = "Started", FontSize = 24, FontFamily = "Roboto", TextColor = Constants.TextColor, HorizontalTextAlignment = TextAlignment.Start }; Label labelEnded = new Label() { Text = "Ended", FontSize = 24, FontFamily = "Roboto", TextColor = Constants.TextColor, HorizontalTextAlignment = TextAlignment.Start }; labelEnded.SetBinding(Label.IsVisibleProperty, "EndPickersVisible"); ImageButton btnBackArrow = new ImageButton() { Source = "backarrow.png", Aspect = Aspect.Fill }; btnBackArrow.SetBinding(ImageButton.TappedCommandProperty, "BackButtonCommand"); ImageButton btnAccept = new ImageButton() { Aspect = Aspect.Fill }; btnAccept.SetBinding(ImageButton.SourceProperty, "AcceptButtonImage"); btnAccept.SetBinding(ImageButton.TappedCommandProperty, "AcceptButtonCommand"); btnAccept.SetBinding(ImageButton.IsEnabledProperty, "AcceptButtonEnabled", BindingMode.TwoWay); ImageButton btnDelete = new ImageButton() { Source = "deletebtn.png", Aspect = Aspect.Fill }; btnDelete.SetBinding(ImageButton.TappedCommandProperty, "DeleteButtonCommand"); btnDelete.SetBinding(ImageButton.IsEnabledProperty, "DeleteButtonEnabled", BindingMode.TwoWay); DatePicker dpStartDate = new DatePicker() { Format = Constants.DateFormat, TextColor = Constants.TextColor }; dpStartDate.SetBinding(DatePicker.DateProperty, "StartDate", BindingMode.TwoWay); dpStartDate.SetBinding(DatePicker.MaximumDateProperty, "MaximumStartDate"); TimePicker tpStartTime = new TimePicker() { Format = Constants.TimeSecondsFormat, TextColor = Constants.TextColor }; tpStartTime.SetBinding(TimePicker.TimeProperty, "StartTime", BindingMode.TwoWay); DatePicker dpEndDate = new DatePicker() { Format = Constants.DateFormat, TextColor = Constants.TextColor }; dpEndDate.SetBinding(DatePicker.DateProperty, "EndDate", BindingMode.TwoWay); dpEndDate.SetBinding(DatePicker.MinimumDateProperty, "MinimumEndDate"); dpEndDate.SetBinding(DatePicker.IsVisibleProperty, "EndPickersVisible"); TimePicker tpEndTime = new TimePicker() { Format = Constants.TimeSecondsFormat, TextColor = Constants.TextColor }; tpEndTime.SetBinding(TimePicker.TimeProperty, "EndTime", BindingMode.TwoWay); tpEndTime.SetBinding(TimePicker.IsVisibleProperty, "EndPickersVisible"); rl.AddView(btnBackArrow, Constraint.RelativeToParent((p) => { return(p.X + 10); }), Constraint.RelativeToParent((p) => { return(p.Y + 10); }), Constraint.Constant(32), Constraint.Constant(32) ); rl.AddView(btnDelete, Constraint.RelativeToParent((p) => { return(p.Width - 10 - 40); }), Constraint.RelativeToParent((p) => { return(p.Y + 10); }), Constraint.Constant(40), Constraint.Constant(40) ); rl.AddView(labelTitle, Constraint.RelativeToParent((p) => { return(p.X); }), Constraint.RelativeToParent((p) => { return(p.Y + 55); }), Constraint.RelativeToParent((p) => { return(p.Width); }), Constraint.Constant(32) ); int indent = 42; rl.AddView(labelStarted, Constraint.RelativeToParent((p) => { return(p.X + indent); }), Constraint.RelativeToView(labelTitle, (p, s) => { return(s.Y + s.Height + 120); }), Constraint.Constant(150), Constraint.Constant(32) ); int buffer = 10; int margin = 10; int height = 40; rl.AddView(dpStartDate, Constraint.RelativeToView(labelStarted, (p, s) => { return(s.X); }), Constraint.RelativeToView(labelStarted, (p, s) => { return(s.Y + s.Height + 10); }), Constraint.RelativeToView(labelStarted, (p, s) => { return(((p.Width - indent - margin) / 2) - buffer / 2); }), Constraint.Constant(height) ); rl.AddView(tpStartTime, Constraint.RelativeToView(dpStartDate, (p, s) => { return(s.X + s.Width + (buffer / 2)); }), Constraint.RelativeToView(dpStartDate, (p, s) => { return(s.Y); }), Constraint.RelativeToView(dpStartDate, (p, s) => { return(s.Width); }), Constraint.Constant(height) ); rl.AddView(labelEnded, Constraint.RelativeToParent((p) => { return(p.X + indent); }), Constraint.RelativeToView(labelStarted, (p, s) => { return(s.Y + s.Height + 75); }), Constraint.Constant(150), Constraint.Constant(32) ); rl.AddView(dpEndDate, Constraint.RelativeToView(labelEnded, (p, s) => { return(s.X); }), Constraint.RelativeToView(labelEnded, (p, s) => { return(s.Y + s.Height + 10); }), Constraint.RelativeToView(labelEnded, (p, s) => { return(((p.Width - indent - margin) / 2) - buffer / 2); }), Constraint.Constant(height) ); rl.AddView(tpEndTime, Constraint.RelativeToView(dpEndDate, (p, s) => { return(s.X + s.Width + (buffer / 2)); }), Constraint.RelativeToView(dpEndDate, (p, s) => { return(s.Y); }), Constraint.RelativeToView(dpEndDate, (p, s) => { return(s.Width); }), Constraint.Constant(height) ); int acceptBtnWidth = 103; int acceptBtnHeight = 41; rl.AddView(btnAccept, Constraint.RelativeToParent((p) => { return(p.Width / 2 - acceptBtnWidth / 2); }), Constraint.RelativeToParent((p) => { return(p.Height - acceptBtnHeight - 70); }), Constraint.Constant(acceptBtnWidth), Constraint.Constant(acceptBtnHeight) ); }
private void InitialiseElements() { #region ViewInitialisation ImageButton imgBackBtn = new ImageButton() { Source = "backarrow.png", Aspect = Aspect.Fill }; imgBackBtn.SetBinding(ImageButton.TappedCommandProperty, "BackButtonCommand"); imgBackBtn.SetBinding(ImageButton.IsEnabledProperty, "BackButtonEnabled", BindingMode.TwoWay); ImageButton imgEditActivityBtn = new ImageButton() { Source = "editbtn.png", Aspect = Aspect.AspectFill }; imgEditActivityBtn.SetBinding(ImageButton.TappedCommandProperty, "EditActivityButtonCommand"); imgEditActivityBtn.SetBinding(ImageButton.IsEnabledProperty, "EditActivityButtonEnabled", BindingMode.TwoWay); Image imgBg = new Image() { Source = "activitypagebg.png", VerticalOptions = LayoutOptions.Start, Aspect = Aspect.Fill }; ImageButton imgActivityBtn = new ImageButton() { Aspect = Aspect.Fill }; imgActivityBtn.SetBinding(Image.SourceProperty, "ActivityBtnImageSource"); imgActivityBtn.SetBinding(ImageButton.TappedCommandProperty, "ActivityButtonCommand"); imgActivityBtn.SetBinding(ImageButton.IsEnabledProperty, "ActivityButtonEnabled", BindingMode.TwoWay); Label labelActivityName = new Label() { HorizontalTextAlignment = TextAlignment.Center, VerticalTextAlignment = TextAlignment.Center, FontSize = 28, FontFamily = "Roboto" }; labelActivityName.SetBinding(Label.TextProperty, "ActivityName", BindingMode.OneWay); Label labelActivityCategory = new Label() { HorizontalTextAlignment = TextAlignment.Center, VerticalTextAlignment = TextAlignment.Center, FontSize = 20, FontFamily = "Roboto" }; labelActivityCategory.SetBinding(Label.TextProperty, "Category", BindingMode.OneWay); Label labelStartedTime = new Label() { Text = "Started time", HorizontalTextAlignment = TextAlignment.Center, VerticalTextAlignment = TextAlignment.Center, FontSize = 16, FontFamily = "Roboto", }; labelStartedTime.SetBinding(Label.IsVisibleProperty, "StartTimeVisible"); labelStartedTime.SetBinding(Label.TextProperty, "StartTimeDisplay"); Label labelElapsedTime = new Label() { HorizontalTextAlignment = TextAlignment.Center, VerticalTextAlignment = TextAlignment.Center, FontSize = 28, FontFamily = "Roboto", TextColor = Constants.TotalTimeElapsedColor }; labelElapsedTime.SetBinding(Label.TextProperty, "TimeElapsed", BindingMode.OneWay); labelElapsedTime.SetBinding(Label.TextColorProperty, "TimeElapsedColor"); Label labelHistory = new Label() { Text = "History", HorizontalTextAlignment = TextAlignment.Start, VerticalTextAlignment = TextAlignment.Center, FontSize = 16, FontFamily = "Roboto", TextColor = Constants.HistoryTextColor }; AppListView listViewHistory = new AppListView() { HasUnevenRows = true, SeparatorVisibility = SeparatorVisibility.None, ItemTemplate = new DataTemplate(typeof(ActivityPeriodCell)) }; listViewHistory.ItemSelected += (sender, e) => { ((ListView)sender).SelectedItem = null; }; listViewHistory.SetBinding(AppListView.TapCommandProperty, "HistoryItemTappedCommand", BindingMode.OneWay); listViewHistory.SetBinding(ListView.ItemsSourceProperty, "History"); #endregion //Methods goes -> X, Y, Width, Height //Add bg image #region BGImg relLayout.Children.Add(imgBg, Constraint.RelativeToParent(p => { return(p.X); }), Constraint.RelativeToParent(p => { return(p.Y); }), Constraint.RelativeToParent(p => { return(p.Width); }), Constraint.RelativeToParent(p => { return(p.Height / 2); })); #endregion //Add the history label #region HistoryLabel relLayout.Children.Add(labelHistory, Constraint.RelativeToParent((p) => { //X coord return(p.X + 12); }), Constraint.RelativeToView(imgBg, (p, s) => { //Y coord return(s.Height + 4); }), Constraint.Constant(60), Constraint.Constant(21)); #endregion //Add the labels #region ActivityLabel relLayout.Children.Add(labelActivityName, Constraint.RelativeToParent(p => { return(p.X); }), Constraint.RelativeToParent(p => { return(p.Y + 24); }), Constraint.RelativeToParent(p => { return(p.Width); }), Constraint.Constant(36)); #endregion #region ActivityCategoryLabel relLayout.Children.Add(labelActivityCategory, Constraint.RelativeToParent(p => { return(p.X); }), Constraint.RelativeToView(labelActivityName, (p, s) => { return(s.Y + s.Height + 24); }), Constraint.RelativeToParent(p => { return(p.Width); }), Constraint.Constant(26)); #endregion #region StartedTimeLabel relLayout.Children.Add(labelStartedTime, Constraint.RelativeToParent(p => { return(p.X); }), Constraint.RelativeToView(labelActivityCategory, (p, s) => { return(s.Y + s.Height + 24); }), Constraint.RelativeToParent(p => { return(p.Width); }), Constraint.Constant(21)); #endregion #region ElapsedTimeLabel relLayout.Children.Add(labelElapsedTime, Constraint.RelativeToParent(p => { return(p.X); }), Constraint.RelativeToView(labelStartedTime, (p, s) => { return(s.Y + s.Height + 12); }), Constraint.RelativeToParent(p => { return(p.Width); }), Constraint.Constant(36)); #endregion #region HistoryListView relLayout.Children.Add(listViewHistory, Constraint.RelativeToParent(p => { return(p.X); }), Constraint.RelativeToView(imgBg, (p, s) => { return(s.Height + 30); }), Constraint.RelativeToParent(p => { return(p.Width); }), Constraint.RelativeToView(imgBg, (p, s) => { return(p.Height - s.Height - 30); })); #endregion //Add activity button #region ActivityButton int size = 128; relLayout.Children.Add(imgActivityBtn, Constraint.RelativeToView(imgBg, (p, s) => { //X coord return(p.Width / 2 - size / 2); }), Constraint.RelativeToView(imgBg, (p, s) => { //Y coord return(s.Height - 80); }), Constraint.Constant(size), Constraint.Constant(size)); #endregion //Add the back button #region BackButton relLayout.Children.Add(imgBackBtn, Constraint.RelativeToView(imgBg, (p, s) => { //X coord return(p.X + 10); }), Constraint.RelativeToParent(p => { //Y coord return(p.Y + 10); }), Constraint.Constant(32), Constraint.Constant(32)); #endregion //Add the edit button #region EditButton int editBtnSize = 64; relLayout.Children.Add(imgEditActivityBtn, Constraint.RelativeToParent(p => { //X coord return(p.Width - editBtnSize - 10); }), Constraint.RelativeToParent(p => { //Y coord return(p.Y + 5); }), Constraint.Constant(editBtnSize), Constraint.Constant(editBtnSize)); #endregion }