Class DefaultMenuItemGroupingRule

  • All Implemented Interfaces:
    com.pspdfkit.ui.toolbar.grouping.MenuItemGroupingRule

    
    public class DefaultMenuItemGroupingRule
     implements MenuItemGroupingRule
                        

    Default grouping rule implementation. Performs collapsing of the menu items if there's not enough room in the toolbar. There will be an item representing 'More items', whose colors can be styled by R.attr#pspdf__contextualToolbarStyle. When clicked, it will open overflown items in the submenu. On the other hand, this class won't extract items if there's some extra space in the toolbar - that should be the custom implementation if so desired.

    • Constructor Detail

      • DefaultMenuItemGroupingRule

        DefaultMenuItemGroupingRule(Context context)
    • Method Detail

      • groupMenuItems

        @NonNull() List<ContextualToolbarMenuItem> groupMenuItems(@NonNull() List<ContextualToolbarMenuItem> flatItems, @IntRange(from = ContextualToolbar.MIN_TOOLBAR_CAPACITY) int capacity)

        Performs grouping of the provided list of menu items based on the available toolbar capacity, meaning the max number of items it can fit.

        Parameters:
        flatItems - Menu items originally set to the toolbar (note: there should be no submenus here, just flat items).
        capacity - Maximum number of items the toolbar can fit (without optional drag and close buttons).
        Returns:

        A re-ordered (could be left the same) list of menu items capacity that will ultimately be set on the toolbar.

      • areGeneratedGroupItemsSelectable

         boolean areGeneratedGroupItemsSelectable()

        Indicates whether the group items (that are generated to fit items when not enough space) are selectable or not.

        Returns:

        true if created group menu items should be selectable, false otherwise.