public static final class GridLayoutManager.DefaultSpanSizeLookup extends GridLayoutManager.SpanSizeLookup
GridLayoutManager.SpanSizeLookup
. Each item occupies 1 span.Constructor and Description |
---|
DefaultSpanSizeLookup() |
Modifier and Type | Method and Description |
---|---|
int |
getSpanIndex(int position,
int spanCount)
Returns the final span index of the provided position.
|
int |
getSpanSize(int position)
Returns the number of span occupied by the item at
position . |
getSpanGroupIndex, invalidateSpanIndexCache, isSpanIndexCacheEnabled, setSpanIndexCacheEnabled
public int getSpanSize(int position)
GridLayoutManager.SpanSizeLookup
position
.getSpanSize
in class GridLayoutManager.SpanSizeLookup
position
- The adapter position of the itempublic int getSpanIndex(int position, int spanCount)
GridLayoutManager.SpanSizeLookup
If you have a faster way to calculate span index for your items, you should override
this method. Otherwise, you should enable span index cache
(GridLayoutManager.SpanSizeLookup.setSpanIndexCacheEnabled(boolean)
) for better performance. When caching is
disabled, default implementation traverses all items from 0 to
position
. When caching is enabled, it calculates from the closest cached
value before the position
.
If you override this method, you need to make sure it is consistent with
GridLayoutManager.SpanSizeLookup.getSpanSize(int)
. GridLayoutManager does not call this method for
each item. It is called only for the reference item and rest of the items
are assigned to spans based on the reference item. For example, you cannot assign a
position to span 2 while span 1 is empty.
Note that span offsets always start with 0 and are not affected by RTL.
getSpanIndex
in class GridLayoutManager.SpanSizeLookup
position
- The position of the itemspanCount
- The total number of spans in the gridspanCount
(exclusive)