# ListRowPresenter

Artifact: [androidx.leanback:leanback](https://developer.android.com/jetpack/androidx/releases/leanback) [View Source](https://cs.android.com/search?q=file:androidx/leanback/widget/ListRowPresenter.java+class:androidx.leanback.widget.ListRowPresenter) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

*** ** * ** ***

<br />

```
class ListRowPresenter : RowPresenter
```

<br />

|---|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) ||||
| ↳ | [androidx.leanback.widget.Presenter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter) |||
|   | ↳ | [androidx.leanback.widget.RowPresenter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter) ||
|   |   | ↳ | [androidx.leanback.widget.ListRowPresenter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter) |

*** ** * ** ***

ListRowPresenter renders `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRow` using a `https://developer.android.com/reference/kotlin/androidx/leanback/widget/HorizontalGridView` hosted in a `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowView`.

### Hover card

Optionally, `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#setHoverCardPresenterSelector(androidx.leanback.widget.PresenterSelector)` can be used to display a view for the currently focused list item below the rendered list. This view is known as a hover card.

### Row selection animation

ListRowPresenter disables `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter`'s default full row dimming effect and draws a dim overlay on each child individually. A subclass may disable the overlay on each child by overriding `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#isUsingDefaultListSelectEffect()` to return false and write its own child dim effect in `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#applySelectLevelToChild(androidx.leanback.widget.ListRowPresenter.ViewHolder,android.view.View)`.

### Shadow

ListRowPresenter applies a default shadow to each child view. Call `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#setShadowEnabled(boolean)` to disable shadows. A subclass may override and return false in `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#isUsingDefaultShadow()` and replace with its own shadow implementation.

## Summary

| ### Nested types |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter.SelectItemViewHolderTask : https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolderTask` A task on the ListRowPresenter.ViewHolder that can select an item by position in the HorizontalGridView and perform an optional item task on it. |
| `class https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter.ViewHolder : https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder` ViewHolder for the ListRowPresenter. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#ListRowPresenter()()` Constructs a ListRowPresenter with defaults. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#ListRowPresenter(int)(focusZoomFactor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Constructs a ListRowPresenter with the given parameters. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#ListRowPresenter(int,boolean)(focusZoomFactor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, useFocusDimmer: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Constructs a ListRowPresenter with the given parameters. |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#areChildRoundedCornersEnabled()()` Returns true if rounded corners are enabled for children of this row. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#enableChildRoundedCorners(boolean)(enable: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Enables or disabled rounded corners on children of this row. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#freeze(androidx.leanback.widget.RowPresenter.ViewHolder,boolean)(holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder, freeze: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Freezes/unfreezes the row, typically used when a transition starts/ends. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#getExpandedRowHeight()()` Returns the expanded row height for rows created by this Presenter. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#getFocusZoomFactor()()` Returns the zoom factor used for focus highlighting. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PresenterSelector!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#getHoverCardPresenterSelector()()` Returns the `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PresenterSelector` used for showing a select object in a hover card. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#getRecycledPoolSize(androidx.leanback.widget.Presenter)(presenter: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter!)` Returns the recycled pool size for the given presenter. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#getRowHeight()()` Returns the row height for list rows created by this Presenter. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#getShadowEnabled()()` Returns true if child shadow is enabled. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `[getZoomFactor](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#getZoomFactor())()` **This function is deprecated.** use `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#getFocusZoomFactor()` instead. <br /> |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#isFocusDimmerUsed()()` Returns true if the focus dimmer is used for focus highlighting; false otherwise. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#isKeepChildForeground()()` Returns true if keeps foreground of child of this row, false otherwise. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#isUsingDefaultListSelectEffect()()` Returns true so that default select effect is applied to each individual child of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/HorizontalGridView`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#isUsingDefaultSelectEffect()()` ListRowPresenter overrides the default select effect of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter` and return false. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#isUsingDefaultShadow()()` Default implementation returns true if SDK version \>= 21, shadow (either static or z-order based) will be applied to each individual child of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/HorizontalGridView`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#isUsingOutlineClipping(android.content.Context)(context: https://developer.android.com/reference/android/content/Context.html!)` Returns true if leanback view outline is enabled on the system or false otherwise. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#isUsingZOrder(android.content.Context)(context: https://developer.android.com/reference/android/content/Context.html!)` Returns true if SDK \>= L, where Z shadow is enabled so that Z order is enabled on each child of horizontal list. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#setEntranceTransitionState(androidx.leanback.widget.RowPresenter.ViewHolder,boolean)( holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder, afterEntrance: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` Changes the visibility of views. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#setExpandedRowHeight(int)(rowHeight: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the expanded row height for rows created by this Presenter. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#setHoverCardPresenterSelector(androidx.leanback.widget.PresenterSelector)(selector: https://developer.android.com/reference/kotlin/androidx/leanback/widget/PresenterSelector!)` Sets the `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PresenterSelector` used for showing a select object in a hover card. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#setKeepChildForeground(boolean)(keep: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` When ListRowPresenter applies overlay color on the child, it may change child's foreground Drawable. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#setNumRows(int)(numRows: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the numbers of rows for rendering the list of items. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#setRecycledPoolSize(androidx.leanback.widget.Presenter,int)(presenter: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter!, size: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the recycled pool size for the given presenter. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#setRowHeight(int)(rowHeight: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the row height for rows created by this Presenter. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#setShadowEnabled(boolean)(enabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Enables or disables child shadow. |

| ### Protected functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#applySelectLevelToChild(androidx.leanback.widget.ListRowPresenter.ViewHolder,android.view.View)( rowViewHolder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter.ViewHolder!, childView: https://developer.android.com/reference/android/view/View.html! )` Applies select level to a child. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#createRowViewHolder(android.view.ViewGroup)(parent: https://developer.android.com/reference/android/view/ViewGroup.html!)` Called to create a ViewHolder object for a Row. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ShadowOverlayHelper.Options!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#createShadowOverlayOptions()()` Create ShadowOverlayHelper Options. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#dispatchItemSelectedListener(androidx.leanback.widget.RowPresenter.ViewHolder,boolean)( holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder!, selected: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html )` Dispatch item selected event using current selected item in the `https://developer.android.com/reference/kotlin/androidx/leanback/widget/HorizontalGridView`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#initializeRowViewHolder(androidx.leanback.widget.RowPresenter.ViewHolder)(vh: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder!)` Called after a `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder` is created for a Row. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#onBindRowViewHolder(androidx.leanback.widget.RowPresenter.ViewHolder,java.lang.Object)(holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder, item: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)` Binds the given row object to the given ViewHolder. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#onRowViewExpanded(androidx.leanback.widget.RowPresenter.ViewHolder,boolean)(holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder!, expanded: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Called when the row view's expanded state changes. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#onRowViewSelected(androidx.leanback.widget.RowPresenter.ViewHolder,boolean)(holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder!, selected: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Called when the given row view changes selection state. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#onSelectLevelChanged(androidx.leanback.widget.RowPresenter.ViewHolder)(holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder!)` Applies select level to header and draws a default color dim over each child of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/HorizontalGridView`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#onUnbindRowViewHolder(androidx.leanback.widget.RowPresenter.ViewHolder)(holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder)` Unbinds the given ViewHolder. |

### Inherited Constants

From [androidx.leanback.widget.RowPresenter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter) `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#SYNC_ACTIVATED_CUSTOM() = 0`

Don't synchronize row view activated status with selected status or expanded status, application will do its own through `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#setActivated(boolean)`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#SYNC_ACTIVATED_TO_EXPANDED() = 1`

Synchronizes row view's activated status to expand status of the row view holder.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#SYNC_ACTIVATED_TO_EXPANDED_AND_SELECTED() = 3`

Sets the row view's activated status to true when both expand and selected are true.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#SYNC_ACTIVATED_TO_SELECTED() = 2`

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

### Inherited functions

From [androidx.leanback.widget.FacetProvider](https://developer.android.com/reference/kotlin/androidx/leanback/widget/FacetProvider) `abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/FacetProvider#getFacet(java.lang.Class<?>)(facetClass: https://developer.android.com/reference/java/lang/Class.html<*>)`

Queries optional implemented facet.
From [androidx.leanback.widget.Presenter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter) `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter#cancelAnimationsRecursive(android.view.View)(view: https://developer.android.com/reference/android/view/View.html!)`

Utility method for removing all running animations on a view.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter#getFacet(java.lang.Class<?>)(facetClass: https://developer.android.com/reference/java/lang/Class.html<*>!)`

Queries optional implemented facet.
`abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter#onBindViewHolder(androidx.leanback.widget.Presenter.ViewHolder,java.lang.Object)(viewHolder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder, item: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)`

Binds a `https://developer.android.com/reference/android/view/View.html` to an item.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter#onBindViewHolder(androidx.leanback.widget.Presenter.ViewHolder,java.lang.Object,java.util.List<java.lang.Object>)(

viewHolder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder,

item: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html,

payloads: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!>

)`

Binds a `https://developer.android.com/reference/android/view/View.html` to an item with a list of payloads.
`abstract https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter#onCreateViewHolder(android.view.ViewGroup)(parent: https://developer.android.com/reference/android/view/ViewGroup.html)`

Creates a new `https://developer.android.com/reference/android/view/View.html`.
`abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter#onUnbindViewHolder(androidx.leanback.widget.Presenter.ViewHolder)(viewHolder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder)`

Unbinds a `https://developer.android.com/reference/android/view/View.html` from an item.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter#onViewAttachedToWindow(androidx.leanback.widget.Presenter.ViewHolder)(holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder)`

Called when a view created by this presenter has been attached to a window.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter#onViewDetachedFromWindow(androidx.leanback.widget.Presenter.ViewHolder)(holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder)`

Called when a view created by this presenter has been detached from its window.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter#setFacet(java.lang.Class<?>,java.lang.Object)(facetClass: https://developer.android.com/reference/java/lang/Class.html<*>!, facetImpl: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html!)`

Sets dynamic implemented facet in addition to basic Presenter functions.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter#setOnClickListener(androidx.leanback.widget.Presenter.ViewHolder,android.view.View.OnClickListener)(

holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder!,

listener: https://developer.android.com/reference/android/view/View.OnClickListener.html!

)`

Called to set a click listener for the given view holder.
From [androidx.leanback.widget.RowPresenter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter) `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter!` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#getHeaderPresenter()()`

Returns the Presenter used for rendering the header, or null if none has been set.
`https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder!` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#getRowViewHolder(androidx.leanback.widget.Presenter.ViewHolder)(holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder!)`

Returns the `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder` from the given RowPresenter ViewHolder.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#getSelectEffectEnabled()()`

Returns true if the row selection effect is enabled.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#getSelectLevel(androidx.leanback.widget.Presenter.ViewHolder)(vh: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder!)`

Returns the current select level.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#getSyncActivatePolicy()()`

Returns the policy of updating row view activated status.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#isClippingChildren()()`

Returns true if the Row view should clip its children.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#onBindViewHolder(androidx.leanback.widget.Presenter.ViewHolder,java.lang.Object)(viewHolder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder, item: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)`

Binds a `https://developer.android.com/reference/android/view/View.html` to an item.
`https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder!` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#onCreateViewHolder(android.view.ViewGroup)(parent: https://developer.android.com/reference/android/view/ViewGroup.html!)`

Creates a new `https://developer.android.com/reference/android/view/View.html`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#onRowViewAttachedToWindow(androidx.leanback.widget.RowPresenter.ViewHolder)(vh: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder)`

Invoked when the row view is attached to the window.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#onRowViewDetachedFromWindow(androidx.leanback.widget.RowPresenter.ViewHolder)(vh: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder)`

Invoked when the row view is detached from the window.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#onUnbindViewHolder(androidx.leanback.widget.Presenter.ViewHolder)(viewHolder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder)`

Unbinds a `https://developer.android.com/reference/android/view/View.html` from an item.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#onViewAttachedToWindow(androidx.leanback.widget.Presenter.ViewHolder)(holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder)`

Called when a view created by this presenter has been attached to a window.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#onViewDetachedFromWindow(androidx.leanback.widget.Presenter.ViewHolder)(holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder)`

Called when a view created by this presenter has been detached from its window.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#setHeaderPresenter(androidx.leanback.widget.RowHeaderPresenter)(headerPresenter: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter!)`

Sets the Presenter used for rendering the header.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#setRowViewExpanded(androidx.leanback.widget.Presenter.ViewHolder,boolean)(holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder!, expanded: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`

Sets the expanded state of a Row view.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#setRowViewSelected(androidx.leanback.widget.Presenter.ViewHolder,boolean)(holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder!, selected: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`

Sets the selected state of a Row view.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#setSelectEffectEnabled(boolean)(applyDimOnSelect: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`

Enables or disables the row selection effect.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#setSelectLevel(androidx.leanback.widget.Presenter.ViewHolder,float)(vh: https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder!, level: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)`

Sets the current select level to a value between 0 (unselected) and 1 (selected).
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#setSyncActivatePolicy(int)(syncActivatePolicy: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Sets the policy of updating row view activated status.

## Public constructors

### ListRowPresenter

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
ListRowPresenter()
```

Constructs a ListRowPresenter with defaults. Uses `https://developer.android.com/reference/kotlin/androidx/leanback/widget/FocusHighlight#ZOOM_FACTOR_MEDIUM()` for focus zooming and disabled dimming on focus.

### ListRowPresenter

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
ListRowPresenter(focusZoomFactor: Int)
```

Constructs a ListRowPresenter with the given parameters.

| Parameters |
|---|---|
| `focusZoomFactor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Controls the zoom factor used when an item view is focused. One of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/FocusHighlight#ZOOM_FACTOR_NONE()`, `https://developer.android.com/reference/kotlin/androidx/leanback/widget/FocusHighlight#ZOOM_FACTOR_SMALL()`, `https://developer.android.com/reference/kotlin/androidx/leanback/widget/FocusHighlight#ZOOM_FACTOR_XSMALL()`, `https://developer.android.com/reference/kotlin/androidx/leanback/widget/FocusHighlight#ZOOM_FACTOR_MEDIUM()`, `https://developer.android.com/reference/kotlin/androidx/leanback/widget/FocusHighlight#ZOOM_FACTOR_LARGE()` Dimming on focus defaults to disabled. |

### ListRowPresenter

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
ListRowPresenter(focusZoomFactor: Int, useFocusDimmer: Boolean)
```

Constructs a ListRowPresenter with the given parameters.

| Parameters |
|---|---|
| `focusZoomFactor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Controls the zoom factor used when an item view is focused. One of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/FocusHighlight#ZOOM_FACTOR_NONE()`, `https://developer.android.com/reference/kotlin/androidx/leanback/widget/FocusHighlight#ZOOM_FACTOR_SMALL()`, `https://developer.android.com/reference/kotlin/androidx/leanback/widget/FocusHighlight#ZOOM_FACTOR_XSMALL()`, `https://developer.android.com/reference/kotlin/androidx/leanback/widget/FocusHighlight#ZOOM_FACTOR_MEDIUM()`, `https://developer.android.com/reference/kotlin/androidx/leanback/widget/FocusHighlight#ZOOM_FACTOR_LARGE()` |
| `useFocusDimmer: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | determines if the FocusHighlighter will use the dimmer |

## Public functions

### areChildRoundedCornersEnabled

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun areChildRoundedCornersEnabled(): Boolean
```

Returns true if rounded corners are enabled for children of this row.

### enableChildRoundedCorners

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun enableChildRoundedCorners(enable: Boolean): Unit
```

Enables or disabled rounded corners on children of this row. Supported on Android SDK \>= L.

### freeze

```
fun freeze(holder: RowPresenter.ViewHolder, freeze: Boolean): Unit
```

Freezes/unfreezes the row, typically used when a transition starts/ends. This method is called by the fragment, it should not call it directly by the application.

### getExpandedRowHeight

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun getExpandedRowHeight(): Int
```

Returns the expanded row height for rows created by this Presenter.

### getFocusZoomFactor

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun getFocusZoomFactor(): Int
```

Returns the zoom factor used for focus highlighting.

### getHoverCardPresenterSelector

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun getHoverCardPresenterSelector(): PresenterSelector!
```

Returns the `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PresenterSelector` used for showing a select object in a hover card.

### getRecycledPoolSize

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun getRecycledPoolSize(presenter: Presenter!): Int
```

Returns the recycled pool size for the given presenter.

### getRowHeight

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun getRowHeight(): Int
```

Returns the row height for list rows created by this Presenter.

### getShadowEnabled

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun getShadowEnabled(): Boolean
```

Returns true if child shadow is enabled. This is not only for enable/disable default shadow implementation but also subclass must respect this flag.

### getZoomFactor

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0) Deprecated in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun [getZoomFactor](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#getZoomFactor())(): Int
```

> [!CAUTION]
> **This function is deprecated.**   
>
> use `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#getFocusZoomFactor()` instead.

Returns the zoom factor used for focus highlighting.

### isFocusDimmerUsed

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun isFocusDimmerUsed(): Boolean
```

Returns true if the focus dimmer is used for focus highlighting; false otherwise.

### isKeepChildForeground

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun isKeepChildForeground(): Boolean
```

Returns true if keeps foreground of child of this row, false otherwise. When ListRowPresenter applies overlay color on the child, it may change child's foreground Drawable. If application uses child's foreground for other purposes such as ripple effect, it needs tell ListRowPresenter to keep the child's foreground. The default value is true.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | true if keeps foreground of child of this row, false otherwise. |

### isUsingDefaultListSelectEffect

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun isUsingDefaultListSelectEffect(): Boolean
```

Returns true so that default select effect is applied to each individual child of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/HorizontalGridView`. Subclass may return false to disable the default implementation and implement `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#applySelectLevelToChild(androidx.leanback.widget.ListRowPresenter.ViewHolder,android.view.View)`.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#applySelectLevelToChild(androidx.leanback.widget.ListRowPresenter.ViewHolder,android.view.View)` |   |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#onSelectLevelChanged(androidx.leanback.widget.RowPresenter.ViewHolder)` |   |

### isUsingDefaultSelectEffect

```
fun isUsingDefaultSelectEffect(): Boolean
```

ListRowPresenter overrides the default select effect of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter` and return false.

### isUsingDefaultShadow

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun isUsingDefaultShadow(): Boolean
```

Default implementation returns true if SDK version \>= 21, shadow (either static or z-order based) will be applied to each individual child of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/HorizontalGridView`. Subclass may return false to disable default implementation of shadow and provide its own.

### isUsingOutlineClipping

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun isUsingOutlineClipping(context: Context!): Boolean
```

Returns true if leanback view outline is enabled on the system or false otherwise. When false, rounded corner will not be enabled even `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#enableChildRoundedCorners(boolean)` is called with true.

| Parameters |
|---|---|
| `context: https://developer.android.com/reference/android/content/Context.html!` | Context to retrieve system settings. |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | True if leanback view outline is enabled on the system or false otherwise. |

### isUsingZOrder

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun isUsingZOrder(context: Context!): Boolean
```

Returns true if SDK \>= L, where Z shadow is enabled so that Z order is enabled on each child of horizontal list. If subclass returns false in isUsingDefaultShadow() and does not use Z-shadow on SDK \>= L, it should override isUsingZOrder() return false.

### setEntranceTransitionState

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

Changes the visibility of views. The entrance transition will be run against the views that change visibilities. A subclass may override and begin with calling super.setEntranceTransitionState(). This method is called by the fragment, it should not be called directly by the application.

| Parameters |
|---|---|
| `holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder` | The ViewHolder of the row. |
| `afterEntrance: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | true if children of row participating in entrance transition should be set to visible, false otherwise. |

### setExpandedRowHeight

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun setExpandedRowHeight(rowHeight: Int): Unit
```

Sets the expanded row height for rows created by this Presenter. If not set, expanded rows have the same height as unexpanded rows.

| Parameters |
|---|---|
| `rowHeight: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The row height in to use when the row is expanded, in pixels, or WRAP_CONTENT, or 0 to use the default. |

### setHoverCardPresenterSelector

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun setHoverCardPresenterSelector(selector: PresenterSelector!): Unit
```

Sets the `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PresenterSelector` used for showing a select object in a hover card.

### setKeepChildForeground

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun setKeepChildForeground(keep: Boolean): Unit
```

When ListRowPresenter applies overlay color on the child, it may change child's foreground Drawable. If application uses child's foreground for other purposes such as ripple effect, it needs tell ListRowPresenter to keep the child's foreground. The default value is true.

| Parameters |
|---|---|
| `keep: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | true if keep foreground of child of this row, false ListRowPresenter might change the foreground of the child. |

### setNumRows

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun setNumRows(numRows: Int): Unit
```

Sets the numbers of rows for rendering the list of items. By default, it is set to 1.

### setRecycledPoolSize

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun setRecycledPoolSize(presenter: Presenter!, size: Int): Unit
```

Sets the recycled pool size for the given presenter.

### setRowHeight

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun setRowHeight(rowHeight: Int): Unit
```

Sets the row height for rows created by this Presenter. Rows created before calling this method will not be updated.

| Parameters |
|---|---|
| `rowHeight: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Row height in pixels, or WRAP_CONTENT, or 0 to use the default height. |

### setShadowEnabled

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun setShadowEnabled(enabled: Boolean): Unit
```

Enables or disables child shadow. This is not only for enable/disable default shadow implementation but also subclass must respect this flag.

## Protected functions

### applySelectLevelToChild

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
protected fun applySelectLevelToChild(
    rowViewHolder: ListRowPresenter.ViewHolder!,
    childView: View!
): Unit
```

Applies select level to a child. Default implementation draws a default color dim over each child of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/HorizontalGridView`. This method is called on all children in `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#onSelectLevelChanged(androidx.leanback.widget.RowPresenter.ViewHolder)` and when a child is attached to `https://developer.android.com/reference/kotlin/androidx/leanback/widget/HorizontalGridView`.

Subclass may disable the default implementation by override `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#isUsingDefaultListSelectEffect()` to return false and deal with the individual item select level by itself.

| Parameters |
|---|---|
| `rowViewHolder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter.ViewHolder!` | The ViewHolder of the Row |
| `childView: https://developer.android.com/reference/android/view/View.html!` | The child of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/HorizontalGridView` to apply select level. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#isUsingDefaultListSelectEffect()` |   |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#getSelectLevel()` |   |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#onSelectLevelChanged(androidx.leanback.widget.RowPresenter.ViewHolder)` |   |

### createRowViewHolder

```
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: https://developer.android.com/reference/android/view/ViewGroup.html!` | The parent View for the Row's view holder. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder!` | A ViewHolder for the Row's View. |

### createShadowOverlayOptions

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
protected fun createShadowOverlayOptions(): ShadowOverlayHelper.Options!
```

Create ShadowOverlayHelper Options. Subclass may override. e.g. ` return new ShadowOverlayHelper.Options().roundedCornerRadius(10); `

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ShadowOverlayHelper.Options!` | The options to be used for shadow, overlay and rounded corner. |

### dispatchItemSelectedListener

```
protected fun dispatchItemSelectedListener(
    holder: RowPresenter.ViewHolder!,
    selected: Boolean
): Unit
```

Dispatch item selected event using current selected item in the `https://developer.android.com/reference/kotlin/androidx/leanback/widget/HorizontalGridView`. The method should only be called from onRowViewSelected().

### initializeRowViewHolder

```
protected fun initializeRowViewHolder(vh: RowPresenter.ViewHolder!): Unit
```

Called after a `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder` is created for a Row. Subclasses may override this method and start by calling super.initializeRowViewHolder(ViewHolder).

| Parameters |
|---|---|
| `vh: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder!` | The ViewHolder to initialize for the Row. |

### onBindRowViewHolder

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

Binds the given row object to the given ViewHolder. Derived classes of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter` overriding `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#onBindRowViewHolder(androidx.leanback.widget.RowPresenter.ViewHolder,java.lang.Object)` must call through the super class's implementation of this method.

### onRowViewExpanded

```
protected fun onRowViewExpanded(holder: RowPresenter.ViewHolder!, expanded: Boolean): Unit
```

Called when the row view's expanded state changes. A subclass may override this method to respond to expanded state changes of a Row. The default implementation will hide/show the header view. Subclasses may make visual changes to the Row View but must not create animation on the Row view.

### onRowViewSelected

```
protected fun onRowViewSelected(holder: RowPresenter.ViewHolder!, selected: Boolean): Unit
```

Called when the given row view changes selection state. A subclass may override this to respond to selected state changes of a Row. A subclass may make visual changes to Row view but must not create animation on the Row view.

### onSelectLevelChanged

```
protected fun onSelectLevelChanged(holder: RowPresenter.ViewHolder!): Unit
```

Applies select level to header and draws a default color dim over each child of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/HorizontalGridView`.

Subclass may override this method and starts with calling super if it has views to apply select effect other than header and HorizontalGridView. To override the default color dim over each child of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/HorizontalGridView`, app should override `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#isUsingDefaultListSelectEffect()` to return false and override `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#applySelectLevelToChild(androidx.leanback.widget.ListRowPresenter.ViewHolder,android.view.View)`.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#isUsingDefaultListSelectEffect()` |   |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter.ViewHolder#getSelectLevel()` |   |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRowPresenter#applySelectLevelToChild(androidx.leanback.widget.ListRowPresenter.ViewHolder,android.view.View)` |   |

### onUnbindRowViewHolder

```
protected fun onUnbindRowViewHolder(holder: RowPresenter.ViewHolder): Unit
```

Unbinds the given ViewHolder. Derived classes of `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter` overriding `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowPresenter#onUnbindRowViewHolder(androidx.leanback.widget.RowPresenter.ViewHolder)` must call through the super class's implementation of this method.