Native.Button GetToolbarButton(ToolbarButtonPosition position) { ToolbarItem item = _toolbarTracker.ToolbarItems.Where( i => (position == ToolbarButtonPosition.Right && i.Order <= ToolbarItemOrder.Primary) || (position == ToolbarButtonPosition.Left && i.Order == ToolbarItemOrder.Secondary)) .OrderBy(i => i.Priority).FirstOrDefault(); if (item == default(ToolbarItem)) { return(null); } Native.Button button = new Native.Button(Forms.NativeParent); button.Clicked += (s, e) => { IMenuItemController control = item; control.Activate(); }; button.Text = item.Text; button.BackgroundColor = Color.Transparent.ToNative(); if (string.IsNullOrEmpty(item.Icon)) { if (string.IsNullOrEmpty(item.Text)) { // We assumed the default toolbar icon is "naviframe/drawer" if there are no icon and text. button.Style = StyleDefaultToolbarIcon; } else { if (position == ToolbarButtonPosition.Right) { button.Style = StyleRightToolbarButton; } else { button.Style = StyleLeftToolBarButton; } } } else { Native.Image iconImage = new Native.Image(Forms.NativeParent); var task = iconImage.LoadFromImageSourceAsync(item.Icon); button.Image = iconImage; } return(button); }
Native.Button GetToolbarButton(ToolbarButtonPosition position) { ToolbarItem item = _toolbarTracker.ToolbarItems.Where( i => (position == ToolbarButtonPosition.Right && i.Order <= ToolbarItemOrder.Primary) || (position == ToolbarButtonPosition.Left && i.Order == ToolbarItemOrder.Secondary)) .OrderBy(i => i.Priority).FirstOrDefault(); if (item == default(ToolbarItem)) { return(null); } Native.ToolbarItemButton button = new Native.ToolbarItemButton(item); return(button); }