示例#1
0
 private void OpenMenu()
 {
     Device.BeginInvokeOnMainThread(() =>
     {
         this.TranslateTo(0, 0, 300).ContinueWith(a =>
         {
             _fishButton.InputTransparent = true;
             SwitchFishLeftRight();
             _fishButton.FadeTo(0.0, 300).ContinueWith(b =>
             {
                 _menuLayout.TranslateTo(0, 0, 300);
             });
         });
     });
 }
示例#2
0
        public CustomToolbar()
        {
            _mainLayout = new AbsoluteLayout()
            {
                BackgroundColor = Color.Transparent,
            };
            //adding all the backgrounds
            Image bubblesBackground = new Image()
            {
                Source            = "bubblesbackground.png",
                Aspect            = Aspect.AspectFill,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                BackgroundColor   = Color.Transparent,
                IsVisible         = false,
                InputTransparent  = true,
            };

            AbsoluteLayout.SetLayoutFlags(bubblesBackground, AbsoluteLayoutFlags.All);
            AbsoluteLayout.SetLayoutBounds(bubblesBackground, new Rectangle(0, 0, 1, 1));

            _water3 = new Image()
            {
                Source            = "water3.png",
                Aspect            = Aspect.AspectFill,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                BackgroundColor   = Color.Transparent,
                InputTransparent  = true,
            };
            AbsoluteLayout.SetLayoutFlags(_water3, AbsoluteLayoutFlags.PositionProportional | AbsoluteLayoutFlags.HeightProportional);
            AbsoluteLayout.SetLayoutBounds(_water3, new Rectangle(0.5, 0, 3 * Device.Info.PixelScreenSize.Width, 1));

            _water2 = new Image()
            {
                Source            = "water2.png",
                Aspect            = Aspect.AspectFill,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                BackgroundColor   = Color.Transparent,
                InputTransparent  = true,
            };
            AbsoluteLayout.SetLayoutFlags(_water2, AbsoluteLayoutFlags.PositionProportional | AbsoluteLayoutFlags.HeightProportional);
            AbsoluteLayout.SetLayoutBounds(_water2, new Rectangle(0.5, 0, 3 * Device.Info.PixelScreenSize.Width, 1));

            _water1 = new Image()
            {
                Source            = "water1.png",
                Aspect            = Aspect.AspectFill,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                BackgroundColor   = Color.Transparent,
                InputTransparent  = true,
            };
            AbsoluteLayout.SetLayoutFlags(_water1, AbsoluteLayoutFlags.PositionProportional | AbsoluteLayoutFlags.HeightProportional);
            AbsoluteLayout.SetLayoutBounds(_water1, new Rectangle(0.5, 0, 3 * Device.Info.PixelScreenSize.Width, 1));

            //creating menu layout
            _menuLayout = new StackLayout()
            {
                Orientation       = StackOrientation.Horizontal,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions   = LayoutOptions.FillAndExpand,
                BackgroundColor   = Color.Transparent,
                TranslationY      = 110,
            };
            AbsoluteLayout.SetLayoutFlags(_menuLayout, AbsoluteLayoutFlags.All);
            AbsoluteLayout.SetLayoutBounds(_menuLayout, new Rectangle(0, 0, 1, 1));

            Grid menuGrid = new Grid()
            {
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions   = LayoutOptions.FillAndExpand,
                BackgroundColor   = Color.Transparent,
            };
            ColumnDefinition c1 = new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Auto)
            };
            ColumnDefinition c2 = new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Auto)
            };
            ColumnDefinition c3 = new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Auto)
            };
            ColumnDefinition c4 = new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Star)
            };

            menuGrid.ColumnDefinitions.Add(c1);
            menuGrid.ColumnDefinitions.Add(c2);
            menuGrid.ColumnDefinitions.Add(c3);
            menuGrid.ColumnDefinitions.Add(c4);

            CustomImageButton addFish = new CustomImageButton()
            {
                Source          = "addfish.png",
                BackgroundColor = Color.Transparent,
                Margin          = new Thickness(10, 30, 10, 0),
            };

            addFish.FadeTo(0.85);
            CustomImageButton viewSession = new CustomImageButton()
            {
                Source          = "viewsession.png",
                BackgroundColor = Color.Transparent,
                Margin          = new Thickness(10, 30, 10, 0)
            };

            viewSession.FadeTo(0.85);

            CustomImageButton stopSession = new CustomImageButton()
            {
                Source          = "stopsession.png",
                BackgroundColor = Color.Transparent,
                Margin          = new Thickness(10, 30, 10, 0)
            };

            stopSession.FadeTo(0.85);

            _bubbleView = new BubbleView()
            {
                VerticalOptions  = LayoutOptions.Start,
                Margin           = new Thickness(10, 30, 10, 10),
                InputTransparent = true,
            };
            _bubbleView.FadeTo(0.85);

            menuGrid.Children.Add(addFish, 0, 0);
            menuGrid.Children.Add(viewSession, 1, 0);
            menuGrid.Children.Add(stopSession, 2, 0);
            menuGrid.Children.Add(_bubbleView, 3, 0);

            _menuLayout.Children.Add(menuGrid);

            //creating fish button
            _fishButton = new CustomImageButton()
            {
                Source          = "thon_center.png",
                BackgroundColor = Color.Transparent,
            };
            AbsoluteLayout.SetLayoutFlags(_fishButton, AbsoluteLayoutFlags.PositionProportional);
            AbsoluteLayout.SetLayoutBounds(_fishButton, new Rectangle(0.5, 0, -1, -1));

            _mainLayout.Children.Add(_water3);
            _mainLayout.Children.Add(_water2);
            _mainLayout.Children.Add(_water1);
            _mainLayout.Children.Add(bubblesBackground);
            _mainLayout.Children.Add(_menuLayout);
            _mainLayout.Children.Add(_fishButton);

            this.Content      = _mainLayout;
            this.TranslationY = 150;
            this.IsVisible    = false;
            //event handlers
            _fishButton.ItemSwipped += ToggleMenu;
            addFish.ItemTapped      += FireAddFishCommand;
            viewSession.ItemTapped  += FireViewSessionCommand;
            stopSession.ItemTapped  += FireStopSessionCommand;
        }