public WooferPage() { BackgroundColor = Color.White; var backgroundImage = new Image() { Source = new FileImageSource() { File = "southmountain.jpg" }, Aspect = Aspect.AspectFill, //IsOpaque = true, //Opacity = 0.8, }; var shader = new BoxView() { Color = Color.Black.MultiplyAlpha(.5), }; var face = new Image() { Aspect = Aspect.AspectFill, Source = new FileImageSource() { File = "face.png" } }; var dome = new Image() { Aspect = Aspect.AspectFill, Source = new FileImageSource() { File = "dome.png" } }; var chatimage = new Image() { Source = new FileImageSource() { File = "chat.png" } }; var pindropimage = new Image() { Source = new FileImageSource() { File = "pindrop.png" } }; var details = new DetailsView(); var slideshow = new SlideShowView(); RelativeLayout relativeLayout = new RelativeLayout() { HeightRequest = 100, }; relativeLayout.Children.Add( backgroundImage, Constraint.Constant(0), Constraint.Constant(0), Constraint.RelativeToParent((parent) => { return(parent.Width); }), Constraint.RelativeToParent((parent) => { return(parent.Height * .5); }) ); relativeLayout.Children.Add( shader, Constraint.Constant(0), Constraint.Constant(0), Constraint.RelativeToParent((parent) => { return(parent.Width); }), Constraint.RelativeToParent((parent) => { return(parent.Height * .5); }) ); relativeLayout.Children.Add( dome, Constraint.Constant(-10), Constraint.RelativeToParent((parent) => { return((parent.Height * .5) - 50); }), Constraint.RelativeToParent((parent) => { return(parent.Width + 10); }), Constraint.Constant(75) ); relativeLayout.Children.Add( chatimage, Constraint.RelativeToParent((parent) => { return(parent.Width * .05); }), Constraint.RelativeToParent((parent) => { return(parent.Height * .5); }), Constraint.RelativeToParent((parent) => { return(parent.Width * .15); }), Constraint.RelativeToParent((parent) => { return(parent.Width * .15); }) ); relativeLayout.Children.Add( pindropimage, Constraint.RelativeToParent((parent) => { return(parent.Width * .95 - (parent.Width * .15)); }), Constraint.RelativeToParent((parent) => { return(parent.Height * .5); }), Constraint.RelativeToParent((parent) => { return(parent.Width * .15); }), Constraint.RelativeToParent((parent) => { return(parent.Width * .15); }) ); relativeLayout.Children.Add( face, Constraint.RelativeToParent((parent) => { return((parent.Width / 2) - (face.Width / 2)); }), Constraint.RelativeToParent((parent) => { return(parent.Height * .25); }), Constraint.RelativeToParent((parent) => { return(parent.Width * .5); }), Constraint.RelativeToParent((parent) => { return(parent.Width * .5); }) ); relativeLayout.Children.Add( details, Constraint.Constant(0), Constraint.RelativeToView(dome, (parent, view) => { return(view.Y + view.Height + 10); }), Constraint.RelativeToParent((parent) => { return(parent.Width); }), Constraint.Constant(120) ); relativeLayout.Children.Add( slideshow, Constraint.Constant(0), Constraint.RelativeToView(details, (parent, view) => { return(view.Y + view.Height); }), Constraint.RelativeToParent((parent) => { return(parent.Width); }), Constraint.RelativeToView(details, (parent, view) => { var detailsbottomY = view.Y + view.Height; return(parent.Height - detailsbottomY); }) ); face.SizeChanged += (sender, e) => { relativeLayout.ForceLayout(); }; this.Content = relativeLayout; }
public WooferPage() { BackgroundColor = Color.White; var backgroundImage = new Image () { Source = new FileImageSource () { File = "southmountain.jpg" }, Aspect = Aspect.AspectFill, //IsOpaque = true, //Opacity = 0.8, }; var shader = new BoxView () { Color = Color.Black.MultiplyAlpha (.5), }; var face = new Image() { Aspect = Aspect.AspectFill, Source = new FileImageSource() { File = "face.png" } }; var dome = new Image() { Aspect = Aspect.AspectFill, Source = new FileImageSource() { File = "dome.png" } }; var chatimage = new Image() { Source = new FileImageSource() { File = "chat.png" } }; var pindropimage = new Image() { Source = new FileImageSource() { File = "pindrop.png" } }; var details = new DetailsView(); var slideshow = new SlideShowView (); RelativeLayout relativeLayout = new RelativeLayout () { HeightRequest = 100, }; relativeLayout.Children.Add ( backgroundImage, Constraint.Constant (0), Constraint.Constant (0), Constraint.RelativeToParent ((parent) => { return parent.Width; }), Constraint.RelativeToParent ((parent) => { return parent.Height * .5; }) ); relativeLayout.Children.Add( shader, Constraint.Constant(0), Constraint.Constant(0), Constraint.RelativeToParent((parent) => { return parent.Width; }), Constraint.RelativeToParent((parent) => { return parent.Height * .5; }) ); relativeLayout.Children.Add( dome, Constraint.Constant(-10), Constraint.RelativeToParent((parent) => { return (parent.Height * .5) - 50; }), Constraint.RelativeToParent((parent) => { return parent.Width + 10; }), Constraint.Constant(75) ); relativeLayout.Children.Add( chatimage, Constraint.RelativeToParent((parent) => { return parent.Width * .05; }), Constraint.RelativeToParent((parent) => { return (parent.Height * .5); }), Constraint.RelativeToParent((parent) => { return parent.Width * .15; }), Constraint.RelativeToParent((parent) => { return parent.Width * .15; }) ); relativeLayout.Children.Add( pindropimage, Constraint.RelativeToParent((parent) => { return parent.Width * .95 - (parent.Width * .15); }), Constraint.RelativeToParent((parent) => { return (parent.Height * .5); }), Constraint.RelativeToParent((parent) => { return parent.Width * .15; }), Constraint.RelativeToParent((parent) => { return parent.Width * .15; }) ); relativeLayout.Children.Add( face, Constraint.RelativeToParent((parent) => { return ((parent.Width / 2) - (face.Width / 2)); }), Constraint.RelativeToParent((parent) => { return parent.Height * .25; }), Constraint.RelativeToParent((parent) => { return parent.Width * .5; }), Constraint.RelativeToParent((parent) => { return parent.Width * .5; }) ); relativeLayout.Children.Add( details, Constraint.Constant(0), Constraint.RelativeToView(dome, (parent, view) => { return view.Y + view.Height + 10; }), Constraint.RelativeToParent((parent) => { return parent.Width; }), Constraint.Constant(120) ); relativeLayout.Children.Add( slideshow, Constraint.Constant(0), Constraint.RelativeToView(details, (parent, view) => { return view.Y + view.Height; }), Constraint.RelativeToParent((parent) => { return parent.Width; }), Constraint.RelativeToView(details, (parent, view) => { var detailsbottomY = view.Y + view.Height; return parent.Height - detailsbottomY; }) ); face.SizeChanged += (sender, e) => { relativeLayout.ForceLayout(); }; this.Content = relativeLayout; }