PrimaryLayout.Builder


class PrimaryLayout.Builder


Builder class for PrimaryLayout.

Summary

Public constructors

Creates a builder for the PrimaryLayout from the given content.

Public functions

PrimaryLayout

Constructs and returns PrimaryLayout with the provided content and look.

PrimaryLayout.Builder

Sets the additional content to this layout, above the primary chip.

PrimaryLayout.Builder

Sets the element which is in the slot at the bottom of the layout.

PrimaryLayout.Builder

Sets the content in the primary label slot which will be above the main content.

PrimaryLayout.Builder

Changes this PrimaryLayout to use responsive insets for its content (primary label, secondary label and primary bottom chip) by adding an additional space on the side of this element to avoid that content going off the screen edge.

PrimaryLayout.Builder

Sets the content in the primary label slot which will be below the main content.

PrimaryLayout.Builder
setVerticalSpacerHeight(height: @Dimension(unit = 0) Float)

Sets the vertical spacer height which is used as a space between main content and secondary label if there is any.

Public constructors

Builder

Added in 1.0.0
Builder(deviceParameters: DeviceParametersBuilders.DeviceParameters)

Creates a builder for the PrimaryLayout from the given content. Content inside of it can later be set with setContent, setPrimaryChipContent, setPrimaryLabelTextContent and setSecondaryLabelTextContent.

For optimal layouts across different screen sizes, it is highly recommended to call setResponsiveContentInsetEnabled.

Public functions

build

Added in 1.0.0
fun build(): PrimaryLayout

Constructs and returns PrimaryLayout with the provided content and look.

setContent

Added in 1.0.0
fun setContent(content: LayoutElementBuilders.LayoutElement): PrimaryLayout.Builder

Sets the additional content to this layout, above the primary chip.

The content slot will wrap the elements' height, so the height of the given content must be fixed or set to wrap (expand can't be used).

This layout has built-in horizontal margins, so the given content should have width set to expand to use all the available space, rather than an explicit width which may lead to clipping.

setPrimaryChipContent

Added in 1.0.0
fun setPrimaryChipContent(compactChip: LayoutElementBuilders.LayoutElement): PrimaryLayout.Builder

Sets the element which is in the slot at the bottom of the layout. Note that it is accepted to pass in any LayoutElement, but it is strongly recommended to add a CompactChip as the layout is optimized for it.

setPrimaryLabelTextContent

Added in 1.0.0
fun setPrimaryLabelTextContent(
    primaryLabelText: LayoutElementBuilders.LayoutElement
): PrimaryLayout.Builder

Sets the content in the primary label slot which will be above the main content.

setResponsiveContentInsetEnabled

Added in 1.2.0
fun setResponsiveContentInsetEnabled(enabled: Boolean): PrimaryLayout.Builder

Changes this PrimaryLayout to use responsive insets for its content (primary label, secondary label and primary bottom chip) by adding an additional space on the side of this element to avoid that content going off the screen edge.

It is highly recommended to call this method with true when using this layout to optimize it for different screen sizes.

setSecondaryLabelTextContent

Added in 1.0.0
fun setSecondaryLabelTextContent(
    secondaryLabelText: LayoutElementBuilders.LayoutElement
): PrimaryLayout.Builder

Sets the content in the primary label slot which will be below the main content. It is highly recommended to have primary label set when having secondary label.

setVerticalSpacerHeight

Added in 1.0.0
fun setVerticalSpacerHeight(height: @Dimension(unit = 0) Float): PrimaryLayout.Builder

Sets the vertical spacer height which is used as a space between main content and secondary label if there is any. If not set, DEFAULT_VERTICAL_SPACER_HEIGHT will be used.