public class PrimaryLayout implements LayoutElementBuilders.LayoutElement


ProtoLayout layout that represents a suggested layout style for Material ProtoLayout with the primary (compact) chip at the bottom with the given content in the center and the recommended margin and padding applied. There is a fixed slot for an optional primary label above or optional secondary label below the main content area.

It is highly recommended that main content has max lines between 2 and 4 (dependant on labels present), i.e.: * No labels are present: content with max 4 lines, * 1 label is present: content with max 3 lines, * 2 labels are present: content with max 2 lines.

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.:

PrimaryLayout pl = new PrimaryLayout...
Box box = new Box.Builder().addContent(pl).build();

PrimaryLayout myPl = (PrimaryLayout) box.getContents().get(0);
will fail.

To be able to get PrimaryLayout object from any layout element, fromLayoutElement method should be used, i.e.:

PrimaryLayout myPl = PrimaryLayout.fromLayoutElement(box.getContents().get(0));

Summary

Nested types

public final class PrimaryLayout.Builder

Builder class for PrimaryLayout.

Public methods

static @Nullable PrimaryLayout

Returns PrimaryLayout 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 PrimaryLayout.

@Nullable LayoutElementBuilders.LayoutElement

Get the inner content from this layout.

@Nullable LayoutElementBuilders.LayoutElement

Get the primary chip content from this layout.

@Nullable LayoutElementBuilders.LayoutElement

Get the primary label content from this layout.

@Nullable LayoutElementBuilders.LayoutElement

Get the secondary label content from this layout.

@Dimension(unit = 0) float

Get the vertical spacer height from this layout.

boolean

Returns whether the contents from this layout are using responsive inset.

Public methods

fromLayoutElement

Added in 1.0.0
public static @Nullable PrimaryLayout fromLayoutElement(@NonNull LayoutElementBuilders.LayoutElement element)

Returns PrimaryLayout 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 PrimaryLayout. Otherwise, it will return null.

getContent

Added in 1.0.0
public @Nullable LayoutElementBuilders.LayoutElement getContent()

Get the inner content from this layout.

getPrimaryChipContent

Added in 1.0.0
public @Nullable LayoutElementBuilders.LayoutElement getPrimaryChipContent()

Get the primary chip content from this layout.

getPrimaryLabelTextContent

Added in 1.0.0
public @Nullable LayoutElementBuilders.LayoutElement getPrimaryLabelTextContent()

Get the primary label content from this layout.

getSecondaryLabelTextContent

Added in 1.0.0
public @Nullable LayoutElementBuilders.LayoutElement getSecondaryLabelTextContent()

Get the secondary label content from this layout.

getVerticalSpacerHeight

Added in 1.0.0
public @Dimension(unit = 0) float getVerticalSpacerHeight()

Get the vertical spacer height from this layout.

isResponsiveContentInsetEnabled

Added in 1.2.0-alpha01
public boolean isResponsiveContentInsetEnabled()

Returns whether the contents from this layout are using responsive inset.