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 }
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 }
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); } }