Most visited

Recently visited

GridLayoutManager.SpanSizeLookup

public static abstract class GridLayoutManager.SpanSizeLookup
extends Object

java.lang.Object
   ↳ android.support.v7.widget.GridLayoutManager.SpanSizeLookup
Known Direct Subclasses


帮助类提供每个项目占用的跨度数量。

默认实现将每个项目设置为恰好占用1个范围。

也可以看看:

Summary

Public constructors

GridLayoutManager.SpanSizeLookup()

Public methods

int getSpanGroupIndex(int adapterPosition, int spanCount)

返回此位置所属组的索引。

int getSpanIndex(int position, int spanCount)

返回提供的位置的最终跨度索引。

abstract int getSpanSize(int position)

返回物品在 position处占用的跨度数。

void invalidateSpanIndexCache()

清除跨度索引缓存。

boolean isSpanIndexCacheEnabled()

返回 getSpanIndex(int, int)方法的结果是否被缓存。

void setSpanIndexCacheEnabled(boolean cacheSpanIndices)

设置是否应该缓存 getSpanIndex(int, int)方法的结果。

Inherited methods

From class java.lang.Object

Public constructors

GridLayoutManager.SpanSizeLookup

GridLayoutManager.SpanSizeLookup ()

Public methods

getSpanGroupIndex

int getSpanGroupIndex (int adapterPosition, 
                int spanCount)

返回此位置所属组的索引。

例如,如果网格有3列,每个项目占用1个跨度,则项目1的跨度组索引将为0,项目5将为1。

Parameters
adapterPosition int: The position in adapter
spanCount int: The total number of spans in the grid
Returns
int The index of the span group including the item at the given adapter position

getSpanIndex

int getSpanIndex (int position, 
                int spanCount)

返回提供的位置的最终跨度索引。

如果您有更快的方法来计算项目的跨度索引,则应该重写此方法。 否则,应该启用跨度索引缓存( setSpanIndexCacheEnabled(boolean) )以获得更好的性能。 当禁用缓存时,默认实现将遍历从0到position所有项目。 当启用缓存时,它会根据position之前的最近缓存值进行position

如果您重写此方法,则需要确保它与getSpanSize(int)一致。 GridLayoutManager不会为每个项目调用此方法。 它仅被称为参考项目,其余项目被分配到基于参考项目的跨度。 例如,当span 1为空时,您无法将位置分配到span 2。

请注意,量程偏移总是从0开始,并且不受RTL的影响。

Parameters
position int: The position of the item
spanCount int: The total number of spans in the grid
Returns
int The final span position of the item. Should be between 0 (inclusive) and spanCount(exclusive)

getSpanSize

int getSpanSize (int position)

返回物品在 position处占用的跨度数。

Parameters
position int: The adapter position of the item
Returns
int The number of spans occupied by the item at the provided position

invalidateSpanIndexCache

void invalidateSpanIndexCache ()

清除跨度索引缓存。 GridLayoutManager在发生适配器更改时自动调用此方法。

isSpanIndexCacheEnabled

boolean isSpanIndexCacheEnabled ()

返回是否缓存 getSpanIndex(int, int)方法的结果。

Returns
boolean True if results of getSpanIndex(int, int) are cached.

setSpanIndexCacheEnabled

void setSpanIndexCacheEnabled (boolean cacheSpanIndices)

设置是否应缓存getSpanIndex(int, int)方法的结果。 默认情况下,这些值不会被缓存。 如果您不覆盖getSpanIndex(int, int) ,则应将其设置为true以获得更好的性能。

Parameters
cacheSpanIndices boolean: Whether results of getSpanIndex should be cached or not.

Hooray!