Esempio n. 1
0
        public StartPage()
        {
            InitializeComponent();

            BindingContext = _vm = new MainViewModel();
            // ContentCarousel.ItemTemplate = new DataTemplate(typeof(MyFirstView));

            SubcribeToSlideUpMenuMessages();                       // Needed to catch SlideUpMenu events such as open and close menu...

            MenuContentLayout.LowerChild(SlideUpMenu_Interactive); // hide menu used for interaction to the back of the display stack
            //NOTE: The menu for Interaction should not be set to invisible as this will cause problems registering for messaging
        }
Esempio n. 2
0
        async Task OpenSlideUpMenuAsync()
        {
            // content overlay
            ContentOverlay.IsVisible = true;
            await ContentOverlay.FadeTo(0.9, 20, Easing.CubicIn);

            // Show menu
            await SlideUpMenu_Animated.TranslateTo(0, -200, slideMenuSpeed, Easing.CubicInOut);

            MenuContentLayout.RaiseChild(SlideUpMenu_Interactive);
            SlideUpMenu_Animated.IsVisible = false;

            slideMenuOpenClosePosition = 1; // Set flag to menu Open
        }
Esempio n. 3
0
        async Task CloseSlideUpMenuAsync()
        {
            // Hide menu
            SlideUpMenu_Animated.IsVisible = true;
            MenuContentLayout.LowerChild(SlideUpMenu_Interactive);
            await SlideUpMenu_Animated.TranslateTo(0, 0, slideMenuSpeed, Easing.CubicInOut);

            // content overlay
            await ContentOverlay.FadeTo(0, 100, Easing.CubicOut);

            ContentOverlay.IsVisible = false;


            slideMenuOpenClosePosition = 0; // reset counter to menu closed
        }
        private void PoolContents()
        {
            if (contentPrefab == null || contentContainer == null)
            {
                return;
            }

            for (int i = 0; i < poolCount; i++)
            {
                MenuContentLayout contentLayout = Instantiate(contentPrefab, contentContainer);
                contentLayout.OnSelect += OnContentClicked;
                contentLayoutList.Add(contentLayout);
                contentLayout.gameObject.SetActive(false);
            }
        }
        private MenuContentLayout GetContentLayout()
        {
            MenuContentLayout currentContentLayout = null;

            foreach (MenuContentLayout contentLayout in contentLayoutList)
            {
                if (contentLayout.gameObject.activeInHierarchy)
                {
                    continue;
                }

                contentLayout.gameObject.SetActive(true);
                currentContentLayout = contentLayout;
                break;
            }

            return(currentContentLayout);
        }
        private void SetContents(MenuContent[] contents)
        {
            ClearContentLayout();

            if (contents == null || contents.Length == 0)
            {
                return;
            }

            foreach (MenuContent content in contents)
            {
                MenuContentLayout layout = GetContentLayout();
                if (layout == null)
                {
                    break;
                }

                layout.Set(content.thumbnail, content.text);
            }
        }