public TripMainData(string source, string name, string address) { var bg_opacity = new BoxView { Color = Color.Black, Opacity = 0.5 }; Bg = new Image { Source = source }; var bgContainer = new Frame { Padding = 0, Content = Bg, HasShadow = false, CornerRadius = 0 }; var grid = new Grid(); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); var fs = new FormattedString(); var nameSpan = new Span { Text = String.Format("{0}\n", name), ForegroundColor = Color.White, FontSize = 30 }; var addressSpan = new Span { Text = String.Format("{0} {1}", FontAwsomeXamarin.FAMapMarker, address), FontFamily = FontAwsomeXamarin.GetFontName(), ForegroundColor = Color.White }; fs.Spans.Add(nameSpan); fs.Spans.Add(addressSpan); var label = new Label { Margin = new Thickness(20, 0, 0, 0) }; label.FormattedText = fs; var like = new BtnLabel { Text = FontAwsomeXamarin.FAHeartO }; var share = new BtnLabel { Text = FontAwsomeXamarin.FAShareAlt }; var favorite = new BtnLabel { Text = FontAwsomeXamarin.FAStarO }; like.AddFunction(TripController.Like()); share.AddFunction(TripController.Share()); favorite.AddFunction(TripController.Favorite()); grid.Children.Add(label, 0, 0); grid.Children.Add(like, 0, 1); grid.Children.Add(share, 1, 1); grid.Children.Add(favorite, 2, 1); Grid.SetColumnSpan(label, 3); HeightRequest = App.ScreenHeight; SetLayoutBounds(bgContainer, new Rectangle(0, 0, 1, 1)); SetLayoutBounds(bg_opacity, new Rectangle(0, 0, 1, 1)); SetLayoutBounds(grid, new Rectangle(0, 0.95, 1, 0.25)); SetLayoutFlags(bgContainer, AbsoluteLayoutFlags.SizeProportional); SetLayoutFlags(bg_opacity, AbsoluteLayoutFlags.SizeProportional); SetLayoutFlags(grid, AbsoluteLayoutFlags.All); Children.Add(bgContainer); Children.Add(bg_opacity); Children.Add(grid); }