protected virtual void OnTabbedPagePropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            var element = sender as Element;

            if (element == null)
            {
                return;
            }

            var tabItems = Control.GetDescendantsOfType <TabItem>();
            var tabItem  = tabItems.FirstOrDefault(t => t.Label == ((Page)element).Title);

            if (tabItem == null)
            {
                return;
            }

            if (e.PropertyName == CustomTabbedPage.BadgeTextProperty.PropertyName)
            {
                tabItem.BadgeText = CustomTabbedPage.GetBadgeText(element);
                return;
            }

            if (e.PropertyName == CustomTabbedPage.BadgeColorProperty.PropertyName)
            {
                tabItem.BadgeColor = new Xaml.Media.SolidColorBrush(
                    ColorHelper.XamarinFormColorToWindowsColor(
                        CustomTabbedPage.GetBadgeColor(element)));
            }

            SetSelectedTab(Control);
        }
Esempio n. 2
0
        protected virtual void OnTabbedPagePropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            var element = sender as Element;

            if (element == null)
            {
                return;
            }

            BadgeView badgeView;

            if (!BadgeViews.TryGetValue(element, out badgeView))
            {
                return;
            }

            if (e.PropertyName == CustomTabbedPage.BadgeTextProperty.PropertyName)
            {
                badgeView.Text = CustomTabbedPage.GetBadgeText(element);
                return;
            }

            if (e.PropertyName == CustomTabbedPage.BadgeColorProperty.PropertyName)
            {
                badgeView.BadgeColor = CustomTabbedPage.GetBadgeColor(element).ToAndroid();
            }
        }
        /// <summary>
        /// Initialize method for class MainPage.
        /// </summary>
        void InitializeComponent()
        {
            Title = "MainPage";

            var tabbedPage = new CustomTabbedPage
            {
                Children =
                {
                    new NewsFeedPage {
                    },
                    new FriendsPage  {
                    },
                    new MessagePage  {
                    },
                    new NoticePage   {
                    }
                },
            };

            tabbedPage.Title = tabbedPage.CurrentPage.Title;
            tabbedPage.CurrentPageChanged += (s, e) =>
            {
                ((TabbedPage)s).Title = ((TabbedPage)s).CurrentPage.Title;
            };

            NavigationPage.SetHasBackButton(tabbedPage, false);

            this.PushAsync(tabbedPage);
        }
Esempio n. 4
0
        private void OnTabbedPagePropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            var page = sender as Page;

            if (page == null)
            {
                return;
            }

            if (e.PropertyName == CustomTabbedPage.BadgeTextProperty.PropertyName)
            {
                var tabIndex = Tabbed.Children.IndexOf(page);

                if (tabIndex < TabBar.Items.Length)
                {
                    UpdateTabBadgeText(TabBar.Items[tabIndex], page);
                }

                return;
            }

            if (e.PropertyName == CustomTabbedPage.BadgeColorProperty.PropertyName)
            {
                var tabIndex = Tabbed.Children.IndexOf(page);
                if (tabIndex < TabBar.Items.Length)
                {
                    TabBar.Items[tabIndex].BadgeColor = CustomTabbedPage.GetBadgeColor(page).ToUIColor();
                }
            }
        }
        void SetupTabbedPage()
        {
            _tabbedNavigationPage = new CustomTabbedPage ();

              _summaryPage = new CustomNavigationPage(new SummaryPage());
              _summaryPage.Title = "Summary";
              _summaryPage.TabIcon = FontAwesome.FALineChart;
              _summaryPage.SelectedTabIcon = FontAwesome.FALineChart;
              _tabbedNavigationPage.Children.Add(_summaryPage);

              _debtsPage = new CustomNavigationPage(new DebtListPage());
              _debtsPage.Title = "Debts";
              _debtsPage.TabIcon = FontAwesome.FABank;
              _debtsPage.SelectedTabIcon = FontAwesome.FABank;
              _tabbedNavigationPage.Children.Add(_debtsPage);

              _paymentsPage = new CustomNavigationPage(new PaymentListPage());
              _paymentsPage.Title = "Income";
              _paymentsPage.TabIcon = FontAwesome.FAMoney;
              _paymentsPage.SelectedTabIcon = FontAwesome.FAMoney;
              _tabbedNavigationPage.Children.Add(_paymentsPage);

              _amortizationPage = new CustomNavigationPage(new AmortizationListPage());
              _amortizationPage.Title = "Amortization";
              _amortizationPage.TabIcon = FontAwesome.FACalendar;
              _amortizationPage.SelectedTabIcon = FontAwesome.FACalendar;
              _tabbedNavigationPage.Children.Add(_amortizationPage);

              this.Detail = _tabbedNavigationPage;
        }
 protected override void OnElementChanged(VisualElementChangedEventArgs e)
 {
     base.OnElementChanged(e);
     if (e.NewElement != null)
     {
         tabbedController = (UITabBarController)ViewController;
     }
     tab = (CustomTabbedPage)e.NewElement;
 }
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            if (value is Page)
            {
                var badgeText = CustomTabbedPage.GetBadgeText((Page)value);

                return(badgeText);
            }

            return(string.Empty);
        }
Esempio n. 8
0
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            if (value is Page)
            {
                var badgeColor = CustomTabbedPage.GetBadgeColor((Page)value);

                var color = ColorHelper.XamarinFormColorToWindowsColor(badgeColor);

                return(new SolidColorBrush(color));
            }

            return(null);
        }
Esempio n. 9
0
        private void AddTabBadge(int tabIndex)
        {
            var element = Tabbed.Children[tabIndex];

            element.PropertyChanged += OnTabbedPagePropertyChanged;

            if (TabBar.Items.Length > tabIndex)
            {
                var tabBarItem = TabBar.Items[tabIndex];
                UpdateTabBadgeText(tabBarItem, element);

                var tabColor = CustomTabbedPage.GetBadgeColor(element);
                if (tabColor != Color.Default)
                {
                    tabBarItem.BadgeColor = tabColor.ToUIColor();
                }
            }
        }
Esempio n. 10
0
 protected override void SetTabIcon(TabLayout.Tab tab, FileImageSource icon)
 {
     base.SetTabIcon(tab, icon);
     if (tab.Text == "菜单" || tab.Text == "搜索")
     {
         tab.SetCustomView(Resource.Layout.CustomTablayout);
         var customView = Element as CustomTabbedPage;
         var imagebtn   = tab.CustomView.FindViewById <Android.Widget.ImageButton>(Resource.Id.tabpage_btn);
         imagebtn.Background = tab.Icon;
         imagebtn.Click     += (sender, e) =>
         {
             if (tab.Text == "菜单")
             {
                 CustomTabbedPage.OnMenuClicked(customView, EventArgs.Empty);
             }
             else if (tab.Text == "搜索")
             {
                 CustomTabbedPage.OnSearchClick(customView, EventArgs.Empty);
             }
         };
     }
 }
Esempio n. 11
0
        private void AddTabBadge(int tabIndex)
        {
            var element = Element.Children[tabIndex];
            var view    = _tabLayout?.GetTabAt(tabIndex).CustomView ?? _tabStrip?.GetChildAt(tabIndex);

            var badgeView = (view as ViewGroup)?.FindChildOfType <BadgeView>();

            if (badgeView == null)
            {
                var imageView = (view as ViewGroup)?.FindChildOfType <ImageView>();

                var badgeTarget = imageView?.Drawable != null
                    ? (Android.Views.View)imageView
                    : (view as ViewGroup)?.FindChildOfType <TextView>();

                // Create badge for tab
                badgeView = new BadgeView(Context, badgeTarget);
            }

            BadgeViews[element] = badgeView;

            // Get text
            var badgeText = CustomTabbedPage.GetBadgeText(element);

            badgeView.Text = badgeText;

            // Set color if not default
            var tabColor = CustomTabbedPage.GetBadgeColor(element);

            if (tabColor != Xamarin.Forms.Color.Default)
            {
                badgeView.BadgeColor = tabColor.ToAndroid();
            }

            element.PropertyChanged += OnTabbedPagePropertyChanged;
        }
Esempio n. 12
0
        public App()
        {
            var tb = new CustomTabbedPage()
            {
            };

            tb.Children.Add(new ContentPage()
            {
                Title = "Vermelho",
                Content = new StackLayout()
                {
                    BackgroundColor = Color.Red
                },
                Icon = "edit.png"
            });
            tb.Children.Add(new ContentPage()
            {
                Title = "Azul",
                Content = new StackLayout()
                {
                    BackgroundColor = Color.Blue
                },
                Icon = "add.png"
            });
            tb.Children.Add(new ContentPage()
            {
                Title = "Verde",
                Content = new StackLayout()
                {
                    BackgroundColor = Color.Green
                },
                Icon = "search.png"
            });
            // The root page of your application
            MainPage = tb;
        }
Esempio n. 13
0
        public App()
        {
            var tb = new CustomTabbedPage()
            {
            };

            tb.Children.Add(new ContentPage()
            {
                Title   = "Vermelho",
                Content = new StackLayout()
                {
                    BackgroundColor = Color.Red
                },
                Icon = "edit.png"
            });
            tb.Children.Add(new ContentPage()
            {
                Title   = "Azul",
                Content = new StackLayout()
                {
                    BackgroundColor = Color.Blue
                },
                Icon = "add.png"
            });
            tb.Children.Add(new ContentPage()
            {
                Title   = "Verde",
                Content = new StackLayout()
                {
                    BackgroundColor = Color.Green
                },
                Icon = "search.png"
            });
            // The root page of your application
            MainPage = tb;
        }
Esempio n. 14
0
        public App()
        {
            InitializeComponent();

            MainPage = new CustomTabbedPage();
        }
Esempio n. 15
0
        private void UpdateTabBadgeText(UITabBarItem tabBarItem, Element element)
        {
            var text = CustomTabbedPage.GetBadgeText(element);

            tabBarItem.BadgeValue = string.IsNullOrEmpty(text) ? null : text;
        }
Esempio n. 16
0
        protected void CreateMenuPage(string menuPageTitle)
        {
            //var _menuPage = new MenuViewModel
            //{
            //    Title = menuPageTitle,
            //};
            //var listView = new ListView();

            //listView.ItemsSource = new string[] { "Contacts", "Quotes", "Modal Demo" };

            //listView.ItemSelected += async (sender, args) =>
            //{

            //    switch ((string)args.SelectedItem)
            //    {
            //        //case "Contacts":
            //        //    _tabbedNavigationPage.CurrentPage = _contactsPage;
            //        //    break;
            //        //case "Quotes":
            //        //    _tabbedNavigationPage.CurrentPage = _quotesPage;
            //        //    break;
            //        case "Modal Demo":
            //            var modalPage = FreshPageModelResolver.ResolvePageModel<ProfileViewModel>(CurrentUser);
            //            await PushPage(modalPage, null, true);
            //            break;
            //        default:
            //            break;
            //    }

            //    IsPresented = false;
            //};

            ////_menuPage.Content = listView;

            //this.Master = new NavigationPage(_menuPage) { Title = "Menu" };

            //_masterDetailPage = new MasterDetailPage();


            //masterDetail.ToolbarItems.Add(profile);
            //masterDetail.ToolbarItems.Add(location);

            _tabbedNavigationPage = new CustomTabbedPage();
            _tabbedNavigationPage.AddTab <HomeViewModel>(null, "home.png", CurrentUser);
            _tabbedNavigationPage.AddTab <BrowserViewModel>(null, "browser.png", CurrentUser);
            _tabbedNavigationPage.AddTab <PulerViewModel>(null, "pulear.png", CurrentUser);
            _tabbedNavigationPage.AddTab <ContactViewModel>(null, "message.png", CurrentUser);

            //var masterPage = FreshPageModelResolver.ResolvePageModel<MasterViewModel>(CurrentUser);
            //masterPage.Title = "Master View Model";
            //_menuPage.ToolbarItems.Add(profile);
            //_menuPage.ToolbarItems.Add(location);
            //var masterPageArea = new FreshNavigationContainer(masterPage, "MasterPageArea");
            //masterPageArea.Title = "Menu";
            //this.Title = "Prueba";
            this.Master = new NavigationPage(FreshPageModelResolver.ResolvePageModel <MenuViewModel>(CurrentUser))
            {
                Title = "Menu"
            };
            this.Detail = _tabbedNavigationPage;
        }