MultiSlotLayout
public class MultiSlotLayout implements LayoutElementBuilders.LayoutElement
Opinionated ProtoLayout layout, row like style with horizontally aligned and spaced slots (for icons or other small content). Should be used as a content passed in to the PrimaryLayout. Visuals and design samples can be found here.
Recommended number of added slots is 1 to 3. Their width will be the width of an element passed in, with the MULTI_SLOT_LAYOUT_HORIZONTAL_SPACER_WIDTH space between.
When accessing the contents of a container for testing, note that this element can't be simply casted back to the original type, i.e.:
MultiSlotLayout msl = new MultiSlotLayout... Box box = new Box.Builder().addContent(msl).build(); MultiSlotLayout myMsl = (MultiSlotLayout) box.getContents().get(0);
To be able to get MultiSlotLayout object from any layout element, fromLayoutElement method should be used, i.e.:
MultiSlotLayout myMsl = MultiSlotLayout.fromLayoutElement(box.getContents().get(0));
Summary
Nested types |
|---|
public final class MultiSlotLayout.BuilderBuilder class for |
Public methods |
|
|---|---|
static @Nullable MultiSlotLayout |
Returns MultiSlotLayout object from the given LayoutElement (e.g. one retrieved from a container's content with |
@Dimension(unit = 0) float |
Gets the width of horizontal spacer that is between slots. |
@NonNull List<LayoutElementBuilders.LayoutElement> |
Gets the content from this layout, containing all slots that were added. |
Public methods
fromLayoutElement
public static @Nullable MultiSlotLayout fromLayoutElement(@NonNull LayoutElementBuilders.LayoutElement element)
Returns MultiSlotLayout object from the given LayoutElement (e.g. one retrieved from a container's content with container.getContents().get(index)) if that element can be converted to MultiSlotLayout. Otherwise, it will return null.
getHorizontalSpacerWidth
public @Dimension(unit = 0) float getHorizontalSpacerWidth()
Gets the width of horizontal spacer that is between slots.
getSlotContents
public @NonNull List<LayoutElementBuilders.LayoutElement> getSlotContents()
Gets the content from this layout, containing all slots that were added.