public HomeButton(string iconText, string title, Color iconBGColor, Color titleBGColor) { IconLabel iconLabel = new IconLabel { HorizontalOptions = LayoutOptions.Fill, VerticalOptions = LayoutOptions.Fill, BackgroundColor = iconBGColor, TextColor = Color.White, Text = iconText, FontSize = 60 }; Label titleLabel = new Label { HorizontalOptions = LayoutOptions.Fill, VerticalOptions = LayoutOptions.Fill, BackgroundColor = titleBGColor, TextColor = Color.White, Text = title, FontSize = 14 }; RelativeLayout layout = new RelativeLayout (); layout.Children.Add (iconLabel, Constraint.Constant (0), Constraint.Constant (0), Constraint.RelativeToParent ((parent) => parent.Width), Constraint.RelativeToParent ((parent) => parent.Height)); layout.Children.Add (titleLabel, Constraint.Constant (0), Constraint.RelativeToParent ((parent) => parent.Height * 0.75), Constraint.RelativeToParent ((parent) => parent.Width), Constraint.RelativeToParent ((parent) => parent.Height * 0.25)); Content = layout; }
private void initialiseControls() { previousMonthLabel = new IconLabel { TextColor = Color.Black, FontSize = 30, Text = IconLabel.Icon.FAArrowLeft, VerticalTextAlignment = TextAlignment.Center, HorizontalOptions = LayoutOptions.Start }; var previousMonthTapGestureRecognizer = new TapGestureRecognizer (); previousMonthTapGestureRecognizer.Tapped += async (s, e) => { if (previousMonthLabel.IsEnabled) { previousMonthLabel.IsEnabled = false; DateTime newDate = currentDateTime.AddMonths(-1); await previousMonthLabel.ScaleTo(.8, 100); await previousMonthLabel.ScaleTo(1, 100); PurseCalendarMonth newData = await OnlineDataLoader.getCalendarMonth(762, 117709, newDate.Month, newDate.Year); loadCalendarGrid(newData); setContent (); previousMonthLabel.IsEnabled = true; } }; previousMonthLabel.GestureRecognizers.Add (previousMonthTapGestureRecognizer); nextMonthLabel = new IconLabel { TextColor = Color.Black, FontSize = 30, Text = IconLabel.Icon.FAArrowRight, VerticalTextAlignment = TextAlignment.Center, HorizontalOptions = LayoutOptions.End }; var nextMonthTapGestureRecognizer = new TapGestureRecognizer (); nextMonthTapGestureRecognizer.Tapped += async (s, e) => { if (nextMonthLabel.IsEnabled) { nextMonthLabel.IsEnabled = false; DateTime newDate = currentDateTime.AddMonths(1); await nextMonthLabel.ScaleTo(.8, 100); await nextMonthLabel.ScaleTo(1, 100); PurseCalendarMonth newData = await OnlineDataLoader.getCalendarMonth(762, 117709, newDate.Month, newDate.Year); loadCalendarGrid(newData); setContent (); nextMonthLabel.IsEnabled = true; } }; nextMonthLabel.GestureRecognizers.Add (nextMonthTapGestureRecognizer); }