{% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %} {% include "_shared/_reference-head-tags.html" %}

GridCells.FixedSize

public final class GridCells.FixedSize implements GridCells


Defines a grid with as many rows or columns as possible on the condition that every cell takes exactly size space. The remaining space will be arranged through LazyGrid arrangements on corresponding axis. If size is larger than container size, the cell will be size to match the container.

For example, for the vertical LazyGrid FixedSize(20.dp) would mean that there will be as many columns as possible and every column will be exactly 20.dp. If the screen is 88.dp wide tne there will be 4 columns 20.dp each with remaining 8.dp distributed through Arrangement.Horizontal.

Summary

Public constructors

Public methods

@NonNull List<@NonNull Integer>
calculateCrossAxisCellSizes(
    @NonNull Density receiver,
    int availableSize,
    int spacing
)

Calculates the number of cells and their cross axis size based on availableSize and spacing.

boolean
equals(Object other)
int

Public constructors

FixedSize

public FixedSize(@NonNull Dp size)

Public methods

calculateCrossAxisCellSizes

public @NonNull List<@NonNull IntegercalculateCrossAxisCellSizes(
    @NonNull Density receiver,
    int availableSize,
    int spacing
)

Calculates the number of cells and their cross axis size based on availableSize and spacing.

For example, in vertical grids, spacing is passed from the grid's Arrangement.Horizontal. The Arrangement.Horizontal will also be used to arrange items in a row if the grid is wider than the calculated sum of columns.

Note that the calculated cross axis sizes will be considered in an RTL-aware manner -- if the grid is vertical and the layout direction is RTL, the first width in the returned list will correspond to the rightmost column.

Parameters
int availableSize

available size on cross axis, e.g. width of LazyVerticalGrid.

int spacing

cross axis spacing, e.g. horizontal spacing for LazyVerticalGrid. The spacing is passed from the corresponding Arrangement param of the lazy grid.

equals

public boolean equals(Object other)

hashCode

public int hashCode()