Example #1
0
 public static global::ActionBar_Sherlock.View.ISubMenu AddSubMenu(this ActionBar_Sherlock.View.IMenu self, string p0)
 {
     Java.Lang.String jls_p0 = p0 == null ? null : new Java.Lang.String(p0);
     global::ActionBar_Sherlock.View.ISubMenu __result = self.AddSubMenu(jls_p0);
     if (jls_p0 != null)
     {
         jls_p0.Dispose();
     }
     return(__result);
 }
Example #2
0
 public static global::ActionBar_Sherlock.View.ISubMenu AddSubMenu(this ActionBar_Sherlock.View.IMenu self, int p0, int p1, int p2, string p3)
 {
     Java.Lang.String jls_p3 = p3 == null ? null : new Java.Lang.String(p3);
     global::ActionBar_Sherlock.View.ISubMenu __result = self.AddSubMenu(p0, p1, p2, jls_p3);
     if (jls_p3 != null)
     {
         jls_p3.Dispose();
     }
     return(__result);
 }
        protected virtual async void SetupMenu(IMenu menu, int maxBottomItems, ShellItem shellItem)
        {
            menu.Clear();
            bool showMore = ShellItem.Items.Count > maxBottomItems;

            int end = showMore ? maxBottomItems - 1 : ShellItem.Items.Count;

            var currentIndex = shellItem.Items.IndexOf(ShellSection);

            List <IMenuItem> menuItems = new List <IMenuItem>();
            List <Task>      loadTasks = new List <Task>();

            for (int i = 0; i < end; i++)
            {
                var item = shellItem.Items[i];
                using (var title = new Java.Lang.String(item.Title))
                {
                    var menuItem = menu.Add(0, i, 0, title);
                    menuItems.Add(menuItem);
                    loadTasks.Add(SetMenuItemIcon(menuItem, item.Icon));
                    UpdateShellSectionEnabled(item, menuItem);
                    if (item == ShellSection)
                    {
                        menuItem.SetChecked(true);
                    }
                }
            }

            if (showMore)
            {
                var moreString = new Java.Lang.String("More");
                var menuItem   = menu.Add(0, MoreTabId, 0, moreString);
                moreString.Dispose();

                menuItem.SetIcon(Resource.Drawable.abc_ic_menu_overflow_material);
                if (currentIndex >= maxBottomItems - 1)
                {
                    menuItem.SetChecked(true);
                }
            }

            _bottomView.Visibility = end == 1 ? ViewStates.Gone : ViewStates.Visible;

            _bottomView.SetShiftMode(false, false);

            if (loadTasks.Count > 0)
            {
                await Task.WhenAll(loadTasks);
            }

            foreach (var menuItem in menuItems)
            {
                menuItem.Dispose();
            }
        }