Class ViewPreloadSizeProvider<T>

    • Constructor Summary

      Constructors 
      Constructor 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​(android.view.View view)
      Constructor that will extract the preload size from a given View.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method 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​(android.view.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​(@NonNull
                                       android.view.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

        @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
                            android.view.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