PrimaryLayout
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. Visuals and design samples can be found here.
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);
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.BuilderBuilder class for |
Public methods |
|
|---|---|
static @Nullable PrimaryLayout |
Returns PrimaryLayout object from the given LayoutElement (e.g. one retrieved from a container's content with |
@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
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
public @Nullable LayoutElementBuilders.LayoutElement getContent()
Get the inner content from this layout.
getPrimaryChipContent
public @Nullable LayoutElementBuilders.LayoutElement getPrimaryChipContent()
Get the primary chip content from this layout.
getPrimaryLabelTextContent
public @Nullable LayoutElementBuilders.LayoutElement getPrimaryLabelTextContent()
Get the primary label content from this layout.
getSecondaryLabelTextContent
public @Nullable LayoutElementBuilders.LayoutElement getSecondaryLabelTextContent()
Get the secondary label content from this layout.
getVerticalSpacerHeight
public @Dimension(unit = 0) float getVerticalSpacerHeight()
Get the vertical spacer height from this layout.
isResponsiveContentInsetEnabled
public boolean isResponsiveContentInsetEnabled()
Returns whether the contents from this layout are using responsive inset.