Class ViewPreloadSizeProvider<T>

java.lang.Object
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 Details

    • 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(@NonNull 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 Details

    • getPreloadSize

      @Nullable public int[] getPreloadSize(@NonNull 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.

      If this method returns null, then no request will be started for the given item.

      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(@NonNull 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