コード例 #1
0
        public static void UpdateFromElement(this BadgeView badgeView, Page element)
        {
            var badgeText = TabBadge.GetBadgeText(element);

            badgeView.Text = badgeText;

            var tabColor = TabBadge.GetBadgeColor(element);

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

            var tabTextColor = TabBadge.GetBadgeTextColor(element);

            if (tabTextColor != Color.Default)
            {
                badgeView.TextColor = tabTextColor.ToAndroid();
            }

            // set font if not default
            var font = TabBadge.GetBadgeFont(element);

            if (font != Font.Default)
            {
                badgeView.Typeface = font.ToTypeface();
            }

            var margin = TabBadge.GetBadgeMargin(element);

            badgeView.SetMargins((float)margin.Left, (float)margin.Top, (float)margin.Right, (float)margin.Bottom);
            badgeView.Postion = TabBadge.GetBadgePosition(element);
        }
コード例 #2
0
 public static void UpdateFromPropertyChangedEvent(this BadgeView badgeView, Element element, PropertyChangedEventArgs e)
 {
     if (e.PropertyName == TabBadge.BadgeTextProperty.PropertyName)
     {
         badgeView.Text = TabBadge.GetBadgeText(element);
     }
     else if (e.PropertyName == TabBadge.BadgeColorProperty.PropertyName)
     {
         badgeView.BadgeColor = TabBadge.GetBadgeColor(element).ToAndroid();
     }
     else if (e.PropertyName == TabBadge.BadgeTextColorProperty.PropertyName)
     {
         badgeView.TextColor = TabBadge.GetBadgeTextColor(element).ToAndroid();
     }
     else if (e.PropertyName == TabBadge.BadgeFontProperty.PropertyName)
     {
         badgeView.Typeface = TabBadge.GetBadgeFont(element).ToTypeface();
     }
     else if (e.PropertyName == TabBadge.BadgePositionProperty.PropertyName)
     {
         badgeView.Postion = TabBadge.GetBadgePosition(element);
     }
     else if (e.PropertyName == TabBadge.BadgeMarginProperty.PropertyName)
     {
         var margin = TabBadge.GetBadgeMargin(element);
         badgeView.SetMargins((float)margin.Left, (float)margin.Top, (float)margin.Right, (float)margin.Bottom);
     }
 }
コード例 #3
0
        void ReleaseDesignerOutlets()
        {
            if (AuthorLabel != null)
            {
                AuthorLabel.Dispose();
                AuthorLabel = null;
            }

            if (BadgeLabel != null)
            {
                BadgeLabel.Dispose();
                BadgeLabel = null;
            }

            if (BadgeView != null)
            {
                BadgeView.Dispose();
                BadgeView = null;
            }

            if (ContentLabel != null)
            {
                ContentLabel.Dispose();
                ContentLabel = null;
            }

            if (DateLabel != null)
            {
                DateLabel.Dispose();
                DateLabel = null;
            }
        }
コード例 #4
0
            public BadgeCell(NSString cellIdentifier) : base(UITableViewCellStyle.Default, cellIdentifier)
            {
                badge        = new BadgeView(RectangleF.Empty);
                badge.Parent = this;

                ContentView.AddSubview(badge);
                badge.SetNeedsDisplay();
            }
コード例 #5
0
        void ReleaseDesignerOutlets()
        {
            if (BadgeView != null)
            {
                BadgeView.Dispose();
                BadgeView = null;
            }

            if (Title != null)
            {
                Title.Dispose();
                Title = null;
            }
        }
コード例 #6
0
        public CupertinoTabViewItemTemplate()
        {
            RowSpacing = 0;

            HorizontalOptions = LayoutOptions.FillAndExpand;
            VerticalOptions   = LayoutOptions.FillAndExpand;

            RowDefinitions.Add(new RowDefinition {
                Height = GridLength.Star
            });
            RowDefinitions.Add(new RowDefinition {
                Height = GridLength.Auto
            });

            _icon = new Image
            {
                Aspect            = Aspect.AspectFit,
                HorizontalOptions = LayoutOptions.Center,
                VerticalOptions   = LayoutOptions.Center,
                Margin            = new Thickness(0, 6)
            };

            _text = new Label
            {
                HorizontalOptions = LayoutOptions.Center,
                VerticalOptions   = LayoutOptions.Center,
                Margin            = new Thickness(0, 6)
            };

            _badge = new BadgeView
            {
                HeightRequest     = 24,
                WidthRequest      = 24,
                HorizontalOptions = LayoutOptions.Center,
                VerticalOptions   = LayoutOptions.Start,
                Scale             = 0.75,
                TranslationX      = 12,
                TranslationY      = -2
            };

            Children.Add(_icon);
            Children.Add(_text);
            Children.Add(_badge);

            SetRow(_icon, 0);
            SetRow(_text, 1);
        }
コード例 #7
0
        public CupertinoTabViewItemTemplate()
        {
            _visualFeedback = new VisualFeedbackEffect();
            Effects.Add(_visualFeedback);

            RowSpacing = 0;

            HorizontalOptions = LayoutOptions.FillAndExpand;
            VerticalOptions   = LayoutOptions.FillAndExpand;

            RowDefinitions.Add(new RowDefinition {
                Height = GridLength.Star
            });
            RowDefinitions.Add(new RowDefinition {
                Height = GridLength.Auto
            });

            _icon = new Image
            {
                Aspect            = Aspect.AspectFit,
                HorizontalOptions = LayoutOptions.Center,
                VerticalOptions   = LayoutOptions.Center,
                Margin            = new Thickness(0, 6)
            };

            _text = new Label
            {
                HorizontalOptions = LayoutOptions.Center,
                VerticalOptions   = LayoutOptions.Center,
                Margin            = new Thickness(0, 6)
            };

            _badge = new BadgeView
            {
                PlacementTarget = _icon,
                Margin          = new Thickness(0)
            };

            Children.Add(_icon);
            Children.Add(_text);
            Children.Add(_badge);

            SetRow(_icon, 0);
            SetRow(_text, 1);
            SetRow(_badge, 0);
            SetRowSpan(_badge, 2);
        }
        void ReleaseDesignerOutlets()
        {
            if (OverlayView != null)
            {
                OverlayView.Dispose();
                OverlayView = null;
            }

            if (BadgeView != null)
            {
                BadgeView.Dispose();
                BadgeView = null;
            }

            if (BadgeLabel != null)
            {
                BadgeLabel.Dispose();
                BadgeLabel = null;
            }

            if (AmountLabel != null)
            {
                AmountLabel.Dispose();
                AmountLabel = null;
            }

            if (ItemImageView != null)
            {
                ItemImageView.Dispose();
                ItemImageView = null;
            }

            if (TitleLabel != null)
            {
                TitleLabel.Dispose();
                TitleLabel = null;
            }

            if (TotalPriceLabel != null)
            {
                TotalPriceLabel.Dispose();
                TotalPriceLabel = null;
            }
        }
コード例 #9
0
        void IShop.OnCartQuantityChanged(int totalNumberOfCartItems)
        {
            var badgeAnimator = BadgeView.gameObject.GetComponent <Animator>();
            var oldCount      = BadgeView.Count;

            if (oldCount == 0 && totalNumberOfCartItems > 0)
            {
                badgeAnimator.Play("Show");
            }
            else if (totalNumberOfCartItems > 0)
            {
                badgeAnimator.Play("Adding");
            }
            else if (totalNumberOfCartItems == 0)
            {
                badgeAnimator.Play("Hide");
            }
            BadgeView.SetCount(totalNumberOfCartItems);
        }
コード例 #10
0
ファイル: Main.cs プロジェクト: luinnx/android-2
        private void Addmyfuns()
        {
            if (fixGridLayout != null)
            {
                fixGridLayout.RemoveAllViews();
            }
            else
            {
                fixGridLayout = new FixGridLayout(this);
                fixGridLayout.setmCellHeight(200);
                fixGridLayout.setmCellWidth(150);
                linearLayout1.AddView(fixGridLayout);
            }
            int i = 0;

            foreach (MyImageButton mbtn in myfunslist)
            {
                fixGridLayout.AddView(mbtn);
                if (mbtn.mbadgeurl != "")
                {
                    string pngpath = Android.OS.Environment.ExternalStorageDirectory +
                                     File.Separator + "CommFramework" +
                                     File.Separator +
                                     "funicoimg" + i.ToString() + ".png";
                    Bitmap icobm = Loading.getLoacalBitmap(pngpath);
                    {
                        if (icobm != null)
                        {
                            BadgeView badge5 = new BadgeView(this, mbtn, fixGridLayout);
                            badge5.Text = (i.ToString());
                            // badge5.SetBackgroundDrawable(new BitmapDrawable(icobm));
                            badge5.SetBackgroundResource(Resource.Drawable.badge_ifaux);
                            badge5.TextSize = (16);
                            badge5.setBadgePosition(BadgeView.POSITION_TOP_RIGHT);
                            badge5.show();
                        }
                    }
                }
                i++;
            }
        }
コード例 #11
0
        public void InitInterface()
        {
            bnve = FindViewById <BottomNavigationViewEx>(Resource.Id.bnve);
            // disable all animation
            bnve.EnableAnimation(false);
            bnve.EnableShiftingMode(false);
            bnve.EnableItemShiftingMode(false);


            bnve.Post(() =>
            {
                //add badgeview at second icon
                badgeView1 = AddBadgeViewAt(0, "20", BadgeView.ShapeOval);
                badgeView2 = AddBadgeViewAt(1, "99", BadgeView.ShapeOval);
                badgeView3 = AddBadgeViewAt(2, "20", BadgeView.ShapeOval);
                badgeView4 = AddBadgeViewAt(3, "2", BadgeView.ShapeOval);
                badgeView5 = AddBadgeViewAt(4, "2", BadgeView.ShapeOval);
            });

            bnve.NavigationItemReselected += Bnve_NavigationItemReselected;
        }
コード例 #12
0
        public VisitsViewController()
            : base(new UICollectionViewFlowLayout())
        {
            CollectionView.RegisterClassForCell(typeof(Source.VisitCell), Source.VisitCell.Identifier);
            CollectionView.Source          = source = new Source();
            CollectionView.BackgroundColor = View.BackgroundColor = UIColor.Clear;
            titleLabel = new UILabel {
                Text = "Next Visit".ToUpper(), Font = UIFont.FromName("HelveticaNeue", 13)
            };
            titleLabel.SizeToFit();
            View.AddSubview(titleLabel);

            topBadge = new BadgeView {
                Font = UIFont.FromName("HelveticaNeue", 8)
            };

            topBadge.TextColor       = UIColor.White;
            topBadge.BackgroundColor = UIColor.FromRGB(196, 48, 81);

            View.AddSubview(topBadge);
        }
コード例 #13
0
        private void AddTabBadge(int tabIndex)
        {
            var page = Element.GetChildPageWithBadge(tabIndex);

            if (page == null)
            {
                return;
            }

            var placement  = Element.OnThisPlatform().GetToolbarPlacement();
            var targetView = placement == ToolbarPlacement.Bottom ? _bottomTabStrip?.GetChildAt(tabIndex) : null;

            if (!(targetView is ViewGroup targetLayout))
            {
                Console.WriteLine("Plugin.Badge: Badge target cannot be null. Badge not added.");
                return;
            }

            var badgeView = targetLayout.FindChildOfType <BadgeView>();

            if (badgeView == null)
            {
                var imageView = targetLayout.FindChildOfType <ImageView>();
                if (placement == ToolbarPlacement.Bottom)
                {
                    // create for entire tab layout
                    badgeView = BadgeView.ForTargetLayout(Context, imageView);
                }
                else
                {
                    //create badge for tab image or text
                    badgeView = BadgeView.ForTarget(Context, imageView?.Drawable != null ? (UIView)imageView : targetLayout.FindChildOfType <TextView>());
                }
            }

            BadgeViews[page] = badgeView;
            badgeView.UpdateFromElement(page);
            page.PropertyChanged -= OnTabbedPagePropertyChanged;
            page.PropertyChanged += OnTabbedPagePropertyChanged;
        }
コード例 #14
0
        private BadgeView AddBadgeViewAt(int position, String text, int shape)
        {
            // get position
            ImageView icon = bnve.GetIconAt(position);

            int[] pos = new int[2];
            icon.GetLocationInWindow(pos);

            var actionBar = SupportActionBar;
            // action bar height
            int actionBarHeight = 0;

            if (actionBar != null)
            {
                actionBarHeight = actionBar.Height;
            }

            float x = (pos[0] + icon.MeasuredWidth * 0.7f);
            float y = (pos[1] - actionBarHeight - icon.MeasuredHeight * 1.25f);

            // calculate width
            int width  = 16 + 4 * (text.Length - 1);
            int height = 16;

            BadgeView badgeView = BadgeFactory.Create(this)
                                  .SetTextColor(Color.White)
                                  .SetWidthAndHeight(width, height)
                                  .SetBadgeBackground(Color.Red)
                                  .SetTextSize(10)
                                  .SetBadgeGravity((int)(GravityFlags.Left | GravityFlags.Top))
                                  .SetBadgeCount(text)
                                  .SetShape(shape)
                                  .Bind(FindViewById(Resource.Id.rl_root));

            badgeView.SetX(x);
            badgeView.SetY(y);
            badgeView.Visibility = ViewStates.Visible;
            return(badgeView);
        }
コード例 #15
0
        void ReleaseDesignerOutlets()
        {
            if (BadgeLabel != null)
            {
                BadgeLabel.Dispose();
                BadgeLabel = null;
            }

            if (BadgeView != null)
            {
                BadgeView.Dispose();
                BadgeView = null;
            }

            if (DateLabel != null)
            {
                DateLabel.Dispose();
                DateLabel = null;
            }

            if (ProductImageView != null)
            {
                ProductImageView.Dispose();
                ProductImageView = null;
            }

            if (ProductTitleLabel != null)
            {
                ProductTitleLabel.Dispose();
                ProductTitleLabel = null;
            }

            if (ReviewTextLabel != null)
            {
                ReviewTextLabel.Dispose();
                ReviewTextLabel = null;
            }
        }
コード例 #16
0
        void ReleaseDesignerOutlets()
        {
            if (Background != null)
            {
                Background.Dispose();
                Background = null;
            }

            if (BadgeView != null)
            {
                BadgeView.Dispose();
                BadgeView = null;
            }

            if (ChallengeImage != null)
            {
                ChallengeImage.Dispose();
                ChallengeImage = null;
            }

            if (ChallengeName != null)
            {
                ChallengeName.Dispose();
                ChallengeName = null;
            }

            if (ChallengeProgressBar != null)
            {
                ChallengeProgressBar.Dispose();
                ChallengeProgressBar = null;
            }

            if (ChallengeProgressText != null)
            {
                ChallengeProgressText.Dispose();
                ChallengeProgressText = null;
            }
        }
コード例 #17
0
        private void InflateMenu(Context context)
        {
            if (BottomNavigationView == null)
            {
                throw new ArgumentNullException(nameof(BottomNavigationView));
            }

            if (BottomNavigationView.Menu == null)
            {
                throw new ArgumentNullException(nameof(BottomNavigationView.Menu));
            }

            for (var i = 0; i < _viewModel.TabViewModels.Count; i++)
            {
                var tabViewModel = _viewModel.TabViewModels[i];
                var iconId       = GetImageResourceId(tabViewModel.Key);

                var menuItem = BottomNavigationView.Menu.Add(Menu.None, i, Menu.None, tabViewModel.Title);
                menuItem?.SetIcon(iconId);

                var itemView  = BottomNavigationView.FindViewById <BottomNavigationItemView>(i);
                var badgeView = new BadgeView <TKey>(context);

                if (BadgeTextColor != null)
                {
                    badgeView.TextColor = BadgeTextColor;
                }

                if (BadgeBackgroundColor != null)
                {
                    badgeView.BackgroundColor = BadgeBackgroundColor;
                }

                badgeView.SetViewModel(tabViewModel);
                itemView?.AddView(badgeView);
            }
        }
        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
                    ? (BaseAndroid.Views.View)imageView
                    : (view as ViewGroup)?.FindChildOfType <TextView>();

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

            BadgeViews[element] = badgeView;

            //get text
            var badgeText = TabBadge.GetBadgeText(element);

            badgeView.Text = badgeText;

            // set color if not default
            var tabColor = TabBadge.GetBadgeColor(element);

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

            element.PropertyChanged += OnTabbedPagePropertyChanged;
        }
コード例 #19
0
        /// <summary>
        /// Loads the content for the game.
        /// </summary>
        public void LoadContent(ContentManager content)
        {
            _badges    = new Badges();
            _badgeView = new BadgeView(_badges);
            _badgeView.LoadContent(content);

            _options = new Options();

            _storeScreen = new StoreScreen(_context);
            _storeScreen.LoadContent(content);

            _transitionScreen = new TransitionScreen();
            _transitionScreen.LoadContent(content);

            _endScreen = new GameOverScreen(_context);
            _endScreen.LoadContent(content);

            _pauseScreen = new PauseMenuScreenFactory().Create(_options, _badges, _context, content);

            _oceanSong = content.Load <Song>("Sounds/Ocean");
            MediaPlayer.IsRepeating = true;

            StartGame(content);
        }
コード例 #20
0
ファイル: ContactAdapter.cs プロジェクト: peckjerry/opandroid
            public override View GetView(int position, View convertView, ViewGroup parent)
            {
                View view = convertView;                 // re-use an existing view, if one is available

                ViewHolder holder;
                bool       firstTimeResourceLoaded = false;

                if (view == null)                   // otherwise create a new one
                {
                    firstTimeResourceLoaded = true;

                    view = context.LayoutInflater.Inflate(Resource.Layout.ContactListItem, null);

                    TextView badgeTextView = view.FindViewById <TextView> (Resource.Id.badgeAnchorTextView);

                    BadgeView badgeView = new BadgeView(context, badgeTextView);
                    badgeView.BadgePosition = BadgeView.Position.TopLeft;

                    holder = new ViewHolder();
                    holder.AvatarImageView             = view.FindViewById <ImageView> (Resource.Id.avatarImageView);
                    holder.OriginalEmptyAvatarDrawable = holder.AvatarImageView.Drawable;
                    holder.BadgeView        = badgeView;
                    holder.NameTextView     = view.FindViewById <TextView> (Resource.Id.nameTextView);
                    holder.UsernameTextView = view.FindViewById <TextView> (Resource.Id.usernameTextView);

                    holder.AvatarWidth  = holder.AvatarImageView.LayoutParameters.Width;
                    holder.AvatarHeight = holder.AvatarImageView.LayoutParameters.Height;

                    // if these fail, you'll need to recode the source to delay the fetching of the avatar until after the render figures out the exact dimensions of the image
                    Contract.Assume(((holder.AvatarWidth != ViewGroup.LayoutParams.MatchParent) && (holder.AvatarWidth != ViewGroup.LayoutParams.WrapContent)));
                    Contract.Assume(((holder.AvatarHeight != ViewGroup.LayoutParams.MatchParent) && (holder.AvatarHeight != ViewGroup.LayoutParams.WrapContent)));

                    view.Tag = holder;
                }
                else
                {
                    holder = (ViewHolder)view.Tag;
                }

                object source = this [position];

                holder.NameTextView.Text     = "My Name " + position.ToString();
                holder.UsernameTextView.Text = "Username" + position.ToString();

                holder.BadgeView.Text = position.ToString();
                holder.BadgeView.Show();

                holder.CurrentDownloader = new AvatarDownloader(holder);

                BitmapType bitmap = downloader.FetchNowOrAsyncDownload(
                    bogusUrls [position % bogusUrls.Length],
                    holder.AvatarWidth,
                    holder.AvatarHeight,
                    holder.CurrentDownloader.HandleDownloaded
                    );

                if (null != bitmap)
                {
                    holder.AvatarImageView.SetImageDrawable(bitmap);
                }
                else
                {
                    if (!firstTimeResourceLoaded)
                    {
                        holder.AvatarImageView.SetImageDrawable(holder.OriginalEmptyAvatarDrawable);                            // reset back to original drawable
                    }
                }

                return(view);
            }
コード例 #21
0
            public BadgeCell(NSString cellIdentifier)
                : base(UITableViewCellStyle.Default, cellIdentifier)
            {
                badge = new BadgeView (RectangleF.Empty);
                badge.Parent = this;

                ContentView.AddSubview (badge);
                badge.SetNeedsDisplay ();
            }
コード例 #22
0
 private void ToggleBadgeView(BadgeView badgeView)
 {
     badgeView.Visibility = (badgeView.Visibility == ViewStates.Visible ? ViewStates.Invisible : ViewStates.Visible);
 }