Пример #1
0
 public override void ViewWillAppear(bool animated)
 {
     if (toolBarItem != null)
     {
         MainViewModel viewModel = (toolBarItem.BindingContext as FoodsViewModel)?.MainViewModel;
         UIButton      button    = UIButton.FromType(UIButtonType.Custom);
         button.Frame = new CGRect(0, -5, 25, 25);
         button.SetImage(UIImage.FromFile("ic_shopping_cart_white_2x.png"), UIControlState.Normal);
         button.TouchUpInside += (s, e) =>
         {
             var tool    = s as UIButton;
             var command = buttonCommands[tool];
             command.Execute(null);
         };
         buttonCommands.Add(button, toolBarItem.Command);
         BadgeBarButtonItem barButtonItem = new BadgeBarButtonItem(button);
         NavigationBar.Items[0].RightBarButtonItem = barButtonItem;
         viewModel.BasketViewModel
         .WhenAnyValue(x => x.OrdersCount)
         .Subscribe(x =>
         {
             barButtonItem.BadgeValue = x.ToString();
         });
     }
     base.ViewWillAppear(animated);
 }
Пример #2
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            NavigationItem.SetLeftBarButtonItem(
                new UIBarButtonItem(UIImage.FromBundle("threelines.png")
                                    , UIBarButtonItemStyle.Plain
                                    , (sender, args) =>
            {
                SidebarController.ToggleMenu();
            }), true);


            //PreferenceHandler prefHandler = new PreferenceHandler();
            UserDetails userDetail = PreferenceHandler.GetUserDetails();

            if (PreferenceHandler.GetUserDetails().RoleId == (int)USER_ROLE.ADMIN)
            {
                btnBadge = new UIButton()
                {
                    Frame = new CGRect(0, 0, 25, 25),
                };
                btnBadge.SetBackgroundImage(UIImage.FromBundle("Notification_Icon.png"), UIControlState.Normal);
                btnBadge.SetTitleColor(UIColor.White, UIControlState.Normal);
                btnBadge.TouchUpInside              += BtnBadge_TouchUpInside;
                btnAlertsBadge                       = new BadgeBarButtonItem(btnBadge);
                btnAlertsBadge.BadgeValue            = UIApplication.SharedApplication.ApplicationIconBadgeNumber.ToString();
                btnAlertsBadge.Style                 = UIBarButtonItemStyle.Plain;
                btnAlertsBadge.ShouldHideBadgeAtZero = true;
                btnAlertsBadge.BadgeOriginX          = 10;
                NavigationItem.SetRightBarButtonItem(btnAlertsBadge, true);
            }
        }
Пример #3
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            int counter = 42;

            // Use a UIButton as customView to handle touch events
            var customButton = new UIButton(new CGRect(0, 0, 32, 32));

            customButton.SetImage(UIImage.FromBundle(@"trolley"), UIControlState.Normal);

            // Create the custom BadgeBarButtonItem
            var barButton = new BadgeBarButtonItem(customButton)
            {
                // Set an initial value and position for the badge
                BadgeValue   = counter.ToString(),
                BadgeOriginX = _positions[_positions.Length - 1].Item1,
                BadgeOriginY = _positions[_positions.Length - 1].Item2,
            };

            // Reset the badge when tapping on the customButton
            customButton.TouchUpInside += (sender, e) => {
                counter = 0;
                barButton.BadgeValue = counter.ToString();
            };

            // Add the actions to the other buttons

            // add an item to the cart
            ButtonAdd.TouchUpInside += (sender, e) => {
                barButton.BadgeValue = (++counter).ToString();
            };

            var i = 0;

            // Cycle through the colors
            ButtonChangeColor.TouchUpInside += (sender, e) => {
                var c = _colors[i++];
                barButton.BadgeBGColor   = c;
                barButton.BadgeTextColor = c == UIColor.White || c == UIColor.Yellow
                                        ? UIColor.Black : UIColor.White;

                if (i >= _colors.Length)
                {
                    i = 0;
                }
            };

            var j = 0;

            // Cycle through the positions
            ButtonChangePosition.TouchUpInside += (sender, e) => {
                barButton.BadgeOriginX = _positions[j].Item1;
                barButton.BadgeOriginY = _positions[j].Item2;

                j++;

                if (j >= _positions.Length)
                {
                    j = 0;
                }
            };

            var k = 0;

            // Cycle through the border colors
            ButtonChangeBorderColor.TouchUpInside += (sender, e) => {
                if (barButton.BadgeBorderWidth == 0)
                {
                    barButton.BadgeBorderWidth = 1;
                }

                var c = _colors[k++];
                barButton.BadgeBorderColor = c;

                if (k >= _colors.Length)
                {
                    k = 0;
                    barButton.BadgeBorderWidth = 0;
                }
            };

            // Add the barButton as the RightBarButtonItem of the navigation bar
            this.NavigationItem.RightBarButtonItem = barButton;
        }