T
- The type of the model the size should be provided for.public class ViewPreloadSizeProvider<T> extends Object implements ListPreloader.PreloadSizeProvider<T>, SizeReadyCallback
ListPreloader.PreloadSizeProvider
that will extract the preload size
from a given View
.Constructor and Description |
---|
ViewPreloadSizeProvider()
Constructor that does nothing by default and requires users to call
setView(android.view.View) when a View is available to registerComponents the dimensions
returned by this class. |
ViewPreloadSizeProvider(View view)
Constructor that will extract the preload size from a given
View . |
Modifier and Type | Method and Description |
---|---|
int[] |
getPreloadSize(T item,
int adapterPosition,
int itemPosition)
Returns the size of the view in the list where the resources will be displayed in pixels in
the format [x, y], or
null if no size is currently available. |
void |
onSizeReady(int width,
int height)
A callback called on the main thread.
|
void |
setView(View view)
Sets the
View the size will be extracted. |
public ViewPreloadSizeProvider()
setView(android.view.View)
when a View is available to registerComponents the dimensions
returned by this class.public ViewPreloadSizeProvider(@NonNull View view)
View
.view
- A not null View the size will be extracted from async using an .OnPreDrawListener
@Nullable public int[] getPreloadSize(@NonNull T item, int adapterPosition, int itemPosition)
ListPreloader.PreloadSizeProvider
null
if no size is currently available.
Note - The dimensions returned here must precisely match those of the view in the list.
If this method returns null
, then no request will be started for the given item.
getPreloadSize
in interface ListPreloader.PreloadSizeProvider<T>
item
- A modelpublic void onSizeReady(int width, int height)
SizeReadyCallback
onSizeReady
in interface SizeReadyCallback
width
- The width in pixels of the target, or Target.SIZE_ORIGINAL
to indicate
that we want the resource at its original width.height
- The height in pixels of the target, or Target.SIZE_ORIGINAL
to indicate
that we want the resource at its original height.public void setView(@NonNull View view)
View
the size will be extracted.
Note - only the first call to this method will be obeyed, subsequent requests will be ignored.
view
- A not null View the size will be extracted async with an .OnPreDrawListener