lightbulb_outline Help shape the future of the Google Play Console, Android Studio, and Firebase. Start survey
added in version 24.1.0
belongs to Maven artifact com.android.support:leanback-v17:28.0.0-alpha1

DetailsOverviewLogoPresenter

public class DetailsOverviewLogoPresenter
extends Presenter

java.lang.Object
   ↳ android.support.v17.leanback.widget.Presenter
     ↳ android.support.v17.leanback.widget.DetailsOverviewLogoPresenter


Presenter that responsible to create a ImageView and bind to DetailsOverviewRow. The default implementation uses getImageDrawable() and binds to ImageView.

Default implementation assumes no scaleType on ImageView and uses intrinsic width and height of getImageDrawable() to initialize ImageView's layout params. To specify a fixed size and/or specify a scapeType, subclass should change ImageView's layout params and scaleType in onCreateView(ViewGroup).

Subclass may override and has its own image view. Subclass may also download image from URL instead of using getImageDrawable(). It's subclass's responsibility to call notifyOnBindLogo(FullWidthDetailsOverviewRowPresenter.ViewHolder) whenever isBoundToImage(ViewHolder, DetailsOverviewRow) turned to true so that activity transition can be started.

Summary

Nested classes

class DetailsOverviewLogoPresenter.ViewHolder

ViewHolder for Logo view of DetailsOverviewRow. 

Public constructors

DetailsOverviewLogoPresenter()

Public methods

boolean isBoundToImage(DetailsOverviewLogoPresenter.ViewHolder viewHolder, DetailsOverviewRow row)

Returns true if the logo view is bound to image.

void onBindViewHolder(Presenter.ViewHolder viewHolder, Object item)

Bind logo View to drawable of DetailsOverviewRow and call notifyOnBindLogo().

View onCreateView(ViewGroup parent)

Create a View for the Logo, default implementation loads from lb_fullwidth_details_overview_logo.

Presenter.ViewHolder onCreateViewHolder(ViewGroup parent)

Creates a new View.

void onUnbindViewHolder(Presenter.ViewHolder viewHolder)

Unbinds a View from an item.

void setContext(DetailsOverviewLogoPresenter.ViewHolder viewHolder, FullWidthDetailsOverviewRowPresenter.ViewHolder parentViewHolder, FullWidthDetailsOverviewRowPresenter parentPresenter)

Called from FullWidthDetailsOverviewRowPresenter to setup FullWidthDetailsOverviewRowPresenter and FullWidthDetailsOverviewRowPresenter.ViewHolder that hosts the logo.

Inherited methods

From class android.support.v17.leanback.widget.Presenter
From class java.lang.Object
From interface android.support.v17.leanback.widget.FacetProvider

Public constructors

DetailsOverviewLogoPresenter

added in version 24.1.0
DetailsOverviewLogoPresenter ()

Public methods

isBoundToImage

added in version 24.1.0
boolean isBoundToImage (DetailsOverviewLogoPresenter.ViewHolder viewHolder, 
                DetailsOverviewRow row)

Returns true if the logo view is bound to image. Subclass may override. The default implementation returns true when getImageDrawable() is not null. If subclass of DetailsOverviewLogoPresenter manages its own image drawable, it should override this function to report status correctly and invoke notifyOnBindLogo(FullWidthDetailsOverviewRowPresenter.ViewHolder) when image view is bound to the drawable.

Parameters
viewHolder DetailsOverviewLogoPresenter.ViewHolder

row DetailsOverviewRow

Returns
boolean

onBindViewHolder

added in version 24.1.0
void onBindViewHolder (Presenter.ViewHolder viewHolder, 
                Object item)

Bind logo View to drawable of DetailsOverviewRow and call notifyOnBindLogo(). The default implementation assumes the Logo View is an ImageView and change layout size to intrinsic size of ImageDrawable if isSizeFromDrawableIntrinsic() is true.

Parameters
viewHolder Presenter.ViewHolder: ViewHolder to bind.

item Object: DetailsOverviewRow object to bind.

onCreateView

added in version 24.1.0
View onCreateView (ViewGroup parent)

Create a View for the Logo, default implementation loads from lb_fullwidth_details_overview_logo. Subclass may override this method to use a fixed layout size and change ImageView scaleType. If the layout params is WRAP_CONTENT for both width and size, the ViewHolder would be using intrinsic size of Drawable in onBindViewHolder(Presenter.ViewHolder, Object).

Parameters
parent ViewGroup: Parent view.

Returns
View View created for the logo.

onCreateViewHolder

added in version 24.1.0
Presenter.ViewHolder onCreateViewHolder (ViewGroup parent)

Creates a new View.

Parameters
parent ViewGroup

Returns
Presenter.ViewHolder

onUnbindViewHolder

added in version 24.1.0
void onUnbindViewHolder (Presenter.ViewHolder viewHolder)

Unbinds a View from an item. Any expensive references may be released here, and any fields that are not bound for every item should be cleared here.

Parameters
viewHolder Presenter.ViewHolder

setContext

added in version 24.1.0
void setContext (DetailsOverviewLogoPresenter.ViewHolder viewHolder, 
                FullWidthDetailsOverviewRowPresenter.ViewHolder parentViewHolder, 
                FullWidthDetailsOverviewRowPresenter parentPresenter)

Called from FullWidthDetailsOverviewRowPresenter to setup FullWidthDetailsOverviewRowPresenter and FullWidthDetailsOverviewRowPresenter.ViewHolder that hosts the logo.