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.
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 drawble of DetailsOverviewRow and call notifyOnBindLogo(). |
View
|
onCreateView(ViewGroup parent)
Create a View for the Logo, default implementation loads from
|
Presenter.ViewHolder
|
onCreateViewHolder(ViewGroup parent)
Creates a new |
void
|
onUnbindViewHolder(Presenter.ViewHolder viewHolder)
Unbinds a |
void
|
setContext(DetailsOverviewLogoPresenter.ViewHolder viewHolder, FullWidthDetailsOverviewRowPresenter.ViewHolder parentViewHolder, FullWidthDetailsOverviewRowPresenter parentPresenter)
Called from |
Inherited methods | |
---|---|
From
class
android.support.v17.leanback.widget.Presenter
| |
From
class
java.lang.Object
| |
From
interface
android.support.v17.leanback.widget.FacetProvider
|
DetailsOverviewLogoPresenter ()
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 |
void onBindViewHolder (Presenter.ViewHolder viewHolder, Object item)
Bind logo View to drawble 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.
|
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. |
Presenter.ViewHolder onCreateViewHolder (ViewGroup parent)
Creates a new View
.
Parameters | |
---|---|
parent |
ViewGroup
|
Returns | |
---|---|
Presenter.ViewHolder |
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
|
void setContext (DetailsOverviewLogoPresenter.ViewHolder viewHolder, FullWidthDetailsOverviewRowPresenter.ViewHolder parentViewHolder, FullWidthDetailsOverviewRowPresenter parentPresenter)
Called from FullWidthDetailsOverviewRowPresenter
to setup FullWidthDetailsOverviewRowPresenter
and FullWidthDetailsOverviewRowPresenter.ViewHolder that hosts the logo.