Esempio n. 1
0
        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;
        }