public static void Add(this AbsoluteLayout layout, IView child, Rectangle bounds, AbsoluteLayoutFlags flags) { layout.Add(child); layout.SetLayoutBounds(child, bounds); layout.SetLayoutFlags(child, flags); }
public SlotsPage() { leftSlotFinished = centerSlotFinished = rightSlotFinished = false; BackgroundColor = Color.FromRgb(57, 57, 57); var leftMonkeys = new List <string> { "orange.png", "crazyface.png", "chimp.png", "blackmonkey.png" }; var leftSlot = new Slot(leftMonkeys, SlotType.Left); var centerMonkeys = new List <string> { "orange.png", "blackmonkey.png", "pinkface.png", "chimp.png" }; var centerSlot = new Slot(centerMonkeys, SlotType.Center); var rightMonkeys = new List <string> { "blackmonkey.png", "chimp.png", "crazyface.png", "orange.png" }; var rightSlot = new Slot(rightMonkeys, SlotType.Right); var xamarinLogo = new Image { Source = "logoxamarin.png", BackgroundColor = Color.FromRgb(57, 57, 57) }; var bottomRectangle = new BoxView { Color = Color.FromRgb(57, 57, 57) }; var gradientTop = new Image { Source = "gradienttop.png" }; var gradientBottom = new Image { Source = "gradient.png" }; //WaitForSpin (); var monkeyLayout = new AbsoluteLayout(); monkeyLayout.SizeChanged += (sender, e) => { if (monkeyLayout.Bounds.Width == -1 || monkeyLayout.Bounds.Height == -1) { return; } var screenWidth = Bounds.Width; var screenHeight = Bounds.Height + 56; xamarinLogo.Bounds = new Rectangle(20, 0, screenWidth - 40, 200); var slotWidth = screenWidth / 4; var paddingWidth = screenWidth / 16; double x = paddingWidth; leftSlot.Bounds = new Rectangle(x, 200, slotWidth, screenWidth - 75); x += slotWidth + paddingWidth; centerSlot.Bounds = new Rectangle(x, 200, slotWidth, screenWidth - 75); x += slotWidth + paddingWidth; rightSlot.Bounds = new Rectangle(x, 200, slotWidth, screenWidth - 75); bottomRectangle.Bounds = new Rectangle(0, leftSlot.Bounds.Bottom, screenWidth, screenHeight - leftSlot.Bounds.Bottom); gradientTop.Bounds = new Rectangle(0, leftSlot.Bounds.Top - 2, screenWidth, 150); gradientBottom.Bounds = new Rectangle(0, leftSlot.Bounds.Bottom - 148, screenWidth, 150); }; monkeyLayout.Add(leftSlot); monkeyLayout.Add(centerSlot); monkeyLayout.Add(rightSlot); monkeyLayout.Add(xamarinLogo); monkeyLayout.Add(bottomRectangle); monkeyLayout.Add(gradientTop); monkeyLayout.Add(gradientBottom); leftSlot.SpinSlot(1, 5, 0.003); centerSlot.SpinSlot(1.5, 5, 0.003); rightSlot.SpinSlot(2.0, 5, 0.003); leftSlot.SlotFinished += OnLeftSlotFinished; centerSlot.SlotFinished += OnCenterSlotFinished; rightSlot.SlotFinished += OnRightSlotFinished; Content = monkeyLayout; }