com.bumptech.glide.util
Class ViewPreloadSizeProvider<T>

java.lang.Object
  extended by com.bumptech.glide.util.ViewPreloadSizeProvider<T>
Type Parameters:
T - The type of the model the size should be provided for.
All Implemented Interfaces:
ListPreloader.PreloadSizeProvider<T>, SizeReadyCallback

public class ViewPreloadSizeProvider<T>
extends Object
implements ListPreloader.PreloadSizeProvider<T>, SizeReadyCallback

A ListPreloader.PreloadSizeProvider that will extract the preload size from a given View.


Constructor Summary
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.
 
Method Summary
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ViewPreloadSizeProvider

public 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

public ViewPreloadSizeProvider(View view)
Constructor that will extract the preload size from a given View.

Parameters:
view - A not null View the size will be extracted from async using an .OnPreDrawListener
Method Detail

getPreloadSize

public int[] getPreloadSize(T item,
                            int adapterPosition,
                            int itemPosition)
Description copied from interface: ListPreloader.PreloadSizeProvider
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.

Note - The dimensions returned here must precisely match those of the view in the list.

Specified by:
getPreloadSize in interface ListPreloader.PreloadSizeProvider<T>
Parameters:
item - A model

onSizeReady

public void onSizeReady(int width,
                        int height)
Description copied from interface: SizeReadyCallback
A callback called on the main thread.

Specified by:
onSizeReady in interface SizeReadyCallback
Parameters:
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.

setView

public void setView(View view)
Sets the View the size will be extracted.

Note - only the first call to this method will be obeyed, subsequent requests will be ignored.

Parameters:
view - A not null View the size will be extracted async with an .OnPreDrawListener