AbstractMediaListHeaderPresenter


abstract class AbstractMediaListHeaderPresenter : RowPresenter


Abstract presenter class for rendering the header for a list of media items in a playlist. The presenter creates a ViewHolder for the TextView holding the header text.

Subclasses of this class must override onBindMediaListHeaderViewHolder in order to bind their header text to the media list header view.

AbstractMediaItemPresenter can be used in conjunction with this presenter in order to display a playlist with a header view.

Summary

Public constructors

Constructor used for creating an abstract media-list header presenter.

AbstractMediaListHeaderPresenter(context: Context!, mThemeResId: Int)

Constructor used for creating an abstract media-list header presenter of a given theme.

Public functions

Boolean

Returns true if this RowPresenter is using the default dimming effect.

Unit

Sets the background color for the row views within the playlist.

Protected functions

RowPresenter.ViewHolder!

Called to create a ViewHolder object for a Row.

abstract Unit

Binds the playlist header data model provided by the user to the ViewHolder provided by the AbstractMediaListHeaderPresenter.

Unit

Binds the given row object to the given ViewHolder.

Inherited Constants

From androidx.leanback.widget.RowPresenter
const Int

Don't synchronize row view activated status with selected status or expanded status, application will do its own through setActivated.

const Int

Synchronizes row view's activated status to expand status of the row view holder.

const Int

Sets the row view's activated status to true when both expand and selected are true.

const Int

Synchronizes row view's activated status to selected status of the row view holder.

Inherited functions

From androidx.leanback.widget.FacetProvider
abstract Any?
getFacet(facetClass: Class<Any!>)

Queries optional implemented facet.

From androidx.leanback.widget.Presenter
java-static Unit

Utility method for removing all running animations on a view.

Any!
getFacet(facetClass: Class<Any!>!)

Queries optional implemented facet.

abstract Unit
onBindViewHolder(viewHolder: Presenter.ViewHolder, item: Any?)

Binds a View to an item.

Unit
onBindViewHolder(
    viewHolder: Presenter.ViewHolder,
    item: Any,
    payloads: (Mutable)List<Any!>
)

Binds a View to an item with a list of payloads.

abstract Presenter.ViewHolder

Creates a new View.

abstract Unit

Unbinds a View from an item.

Unit

Called when a view created by this presenter has been attached to a window.

Unit

Called when a view created by this presenter has been detached from its window.

Unit
setFacet(facetClass: Class<Any!>!, facetImpl: Any!)

Sets dynamic implemented facet in addition to basic Presenter functions.

Unit
setOnClickListener(
    holder: Presenter.ViewHolder!,
    listener: View.OnClickListener!
)

Called to set a click listener for the given view holder.

From androidx.leanback.widget.RowPresenter
Unit

This method is only called from onRowViewSelected onRowViewSelected.

Unit

Freezes/unfreezes the row, typically used when a transition starts/ends.

RowHeaderPresenter!

Returns the Presenter used for rendering the header, or null if none has been set.

RowPresenter.ViewHolder!

Returns the RowPresenter.ViewHolder from the given RowPresenter ViewHolder.

Boolean

Returns true if the row selection effect is enabled.

Float

Returns the current select level.

Int

Returns the policy of updating row view activated status.

Unit

Called after a RowPresenter.ViewHolder is created for a Row.

Boolean

Returns true if the Row view should clip its children.

Unit
onBindViewHolder(viewHolder: Presenter.ViewHolder, item: Any?)

Binds a View to an item.

Presenter.ViewHolder!

Creates a new View.

Unit

Invoked when the row view is attached to the window.

Unit

Invoked when the row view is detached from the window.

Unit

Called when the row view's expanded state changes.

Unit

Called when the given row view changes selection state.

Unit

Callback when the select level changes.

Unit

Unbinds the given ViewHolder.

Unit

Unbinds a View from an item.

Unit

Called when a view created by this presenter has been attached to a window.

Unit

Called when a view created by this presenter has been detached from its window.

Unit
setEntranceTransitionState(
    holder: RowPresenter.ViewHolder,
    afterEntrance: Boolean
)

Changes the visibility of views.

Unit

Sets the Presenter used for rendering the header.

Unit

Sets the expanded state of a Row view.

Unit

Sets the selected state of a Row view.

Unit
setSelectEffectEnabled(applyDimOnSelect: Boolean)

Enables or disables the row selection effect.

Unit

Sets the current select level to a value between 0 (unselected) and 1 (selected).

Unit
setSyncActivatePolicy(syncActivatePolicy: Int)

Sets the policy of updating row view activated status.

Public constructors

AbstractMediaListHeaderPresenter

Added in 1.1.0
AbstractMediaListHeaderPresenter()

Constructor used for creating an abstract media-list header presenter. The styling for this presenter is extracted from Context of parent in createRowViewHolder.

AbstractMediaListHeaderPresenter

Added in 1.1.0
AbstractMediaListHeaderPresenter(context: Context!, mThemeResId: Int)

Constructor used for creating an abstract media-list header presenter of a given theme.

Parameters
context: Context!

The context the user of this presenter is running in.

mThemeResId: Int

The resource id of the desired theme used for styling of this presenter.

Public functions

isUsingDefaultSelectEffect

fun isUsingDefaultSelectEffect(): Boolean

Returns true if this RowPresenter is using the default dimming effect. A subclass may (most likely) return false and override onSelectLevelChanged.

setBackgroundColor

Added in 1.1.0
fun setBackgroundColor(color: Int): Unit

Sets the background color for the row views within the playlist. If this is not set, a default color, defaultBrandColor, from theme is used. This defaultBrandColor defaults to android:attr/colorPrimary on v21, if it's specified.

Parameters
color: Int

The ARGB color used to set as the header text background color.

Protected functions

createRowViewHolder

Added in 1.2.0-alpha04
protected fun createRowViewHolder(parent: ViewGroup!): RowPresenter.ViewHolder!

Called to create a ViewHolder object for a Row. Subclasses will override this method to return a different concrete ViewHolder object.

Parameters
parent: ViewGroup!

The parent View for the Row's view holder.

Returns
RowPresenter.ViewHolder!

A ViewHolder for the Row's View.

onBindMediaListHeaderViewHolder

Added in 1.1.0
protected abstract fun onBindMediaListHeaderViewHolder(
    vh: AbstractMediaListHeaderPresenter.ViewHolder!,
    item: Any!
): Unit

Binds the playlist header data model provided by the user to the ViewHolder provided by the AbstractMediaListHeaderPresenter. The subclasses of this presenter can access and bind the text view corresponding to the header by calling getHeaderView, on the ViewHolder provided as the argument vh by this presenter.

Parameters
vh: AbstractMediaListHeaderPresenter.ViewHolder!

The ViewHolder for this AbstractMediaListHeaderPresenter.

item: Any!

The header data object being presented.

onBindRowViewHolder

protected fun onBindRowViewHolder(vh: RowPresenter.ViewHolder, item: Any): Unit

Binds the given row object to the given ViewHolder. Derived classes of RowPresenter overriding onBindRowViewHolder must call through the super class's implementation of this method.