# PlaybackTransportRowPresenter

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

*** ** * ** ***


```
public class PlaybackTransportRowPresenter extends PlaybackRowPresenter
```

<br />

|---|---|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||||
| ↳ | [androidx.leanback.widget.Presenter](https://developer.android.com/reference/androidx/leanback/widget/Presenter) ||||
|   | ↳ | [androidx.leanback.widget.RowPresenter](https://developer.android.com/reference/androidx/leanback/widget/RowPresenter) |||
|   |   | ↳ | [androidx.leanback.widget.PlaybackRowPresenter](https://developer.android.com/reference/androidx/leanback/widget/PlaybackRowPresenter) ||
|   |   |   | ↳ | [androidx.leanback.widget.PlaybackTransportRowPresenter](https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter) |

*** ** * ** ***

A PlaybackTransportRowPresenter renders a `https://developer.android.com/reference/androidx/leanback/widget/PlaybackControlsRow` to display a series of playback control buttons. Typically this row will be the first row in a fragment such as the `https://developer.android.com/reference/androidx/leanback/app/PlaybackSupportFragment`.

The detailed description is rendered using a `https://developer.android.com/reference/androidx/leanback/widget/Presenter` passed in `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#setDescriptionPresenter(androidx.leanback.widget.Presenter)`. This can be an instance of `https://developer.android.com/reference/androidx/leanback/widget/AbstractDetailsDescriptionPresenter`. The application can access the detailed description ViewHolder from `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder#getDescriptionViewHolder()`.

## Summary

| ### Nested types |
|---|
| `public inner class https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder extends https://developer.android.com/reference/androidx/leanback/widget/PlaybackRowPresenter.ViewHolder implements https://developer.android.com/reference/androidx/leanback/widget/PlaybackSeekUi` A ViewHolder for the PlaybackControlsRow supporting seek UI. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#PlaybackTransportRowPresenter()()` |

| ### Public methods |
|---|---|
| `float` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#getDefaultSeekIncrement()()` Get default seek increment if `https://developer.android.com/reference/androidx/leanback/widget/PlaybackSeekDataProvider` is null. |
| `https://developer.android.com/reference/androidx/leanback/widget/OnActionClickedListener` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#getOnActionClickedListener()()` Returns the listener for `https://developer.android.com/reference/androidx/leanback/widget/Action` click events. |
| `@https://developer.android.com/reference/androidx/annotation/ColorInt int` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#getProgressColor()()` Returns the primary color for the progress bar. |
| `@https://developer.android.com/reference/androidx/annotation/ColorInt int` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#getSecondaryProgressColor()()` Returns the secondary color for the progress bar. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#onReappear(androidx.leanback.widget.RowPresenter.ViewHolder)(https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder rowViewHolder)` Provides hook to update the UI when the view reappears. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#setDefaultSeekIncrement(float)(float ratio)` Set default seek increment if `https://developer.android.com/reference/androidx/leanback/widget/PlaybackSeekDataProvider` is null. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#setDescriptionPresenter(androidx.leanback.widget.Presenter)(https://developer.android.com/reference/androidx/leanback/widget/Presenter descriptionPresenter)` |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#setOnActionClickedListener(androidx.leanback.widget.OnActionClickedListener)(https://developer.android.com/reference/androidx/leanback/widget/OnActionClickedListener listener)` Sets the listener for `https://developer.android.com/reference/androidx/leanback/widget/Action` click events. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#setProgressColor(int)(@https://developer.android.com/reference/androidx/annotation/ColorInt int color)` Sets the primary color for the progress bar. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#setSecondaryProgressColor(int)(@https://developer.android.com/reference/androidx/annotation/ColorInt int color)` Sets the secondary color for the progress bar. |

| ### Protected methods |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#createRowViewHolder(android.view.ViewGroup)(https://developer.android.com/reference/android/view/ViewGroup.html parent)` Called to create a ViewHolder object for a Row. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#onBindRowViewHolder(androidx.leanback.widget.RowPresenter.ViewHolder,java.lang.Object)( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder holder, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/Object.html item )` Binds the given row object to the given ViewHolder. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#onProgressBarClicked(androidx.leanback.widget.PlaybackTransportRowPresenter.ViewHolder)(https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder vh)` Client of progress bar is clicked, default implementation delegate click to PlayPauseAction. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#onRowViewAttachedToWindow(androidx.leanback.widget.RowPresenter.ViewHolder)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder vh)` Invoked when the row view is attached to the window. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#onRowViewDetachedFromWindow(androidx.leanback.widget.RowPresenter.ViewHolder)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder vh)` Invoked when the row view is detached from the window. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#onRowViewSelected(androidx.leanback.widget.RowPresenter.ViewHolder,boolean)(https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder vh, boolean selected)` Called when the given row view changes selection state. |
| `void` | `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter#onUnbindRowViewHolder(androidx.leanback.widget.RowPresenter.ViewHolder)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder holder)` Unbinds the given ViewHolder. |

### Inherited Constants

From [androidx.leanback.widget.RowPresenter](https://developer.android.com/reference/androidx/leanback/widget/RowPresenter) `static final int` `https://developer.android.com/reference/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/androidx/leanback/widget/RowPresenter.ViewHolder#setActivated(boolean)`.
`static final int` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#SYNC_ACTIVATED_TO_EXPANDED() = 1`

Synchronizes row view's activated status to expand status of the row view holder.
`static final int` `https://developer.android.com/reference/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.
`static final int` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#SYNC_ACTIVATED_TO_SELECTED() = 2`

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

### Inherited methods

From [androidx.leanback.widget.FacetProvider](https://developer.android.com/reference/androidx/leanback/widget/FacetProvider) `abstract @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html` `https://developer.android.com/reference/androidx/leanback/widget/FacetProvider#getFacet(java.lang.Class<?>)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?> facetClass)`

Queries optional implemented facet.
From [androidx.leanback.widget.Presenter](https://developer.android.com/reference/androidx/leanback/widget/Presenter) `static void` `https://developer.android.com/reference/androidx/leanback/widget/Presenter#cancelAnimationsRecursive(android.view.View)(https://developer.android.com/reference/android/view/View.html view)`

Utility method for removing all running animations on a view.
`final https://developer.android.com/reference/java/lang/Object.html` `https://developer.android.com/reference/androidx/leanback/widget/Presenter#getFacet(java.lang.Class<?>)(https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?> facetClass)`

Queries optional implemented facet.
`abstract void` `https://developer.android.com/reference/androidx/leanback/widget/Presenter#onBindViewHolder(androidx.leanback.widget.Presenter.ViewHolder,java.lang.Object)(
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder viewHolder,
@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html item
)`

Binds a `https://developer.android.com/reference/android/view/View.html` to an item.
`void` `https://developer.android.com/reference/androidx/leanback/widget/Presenter#onBindViewHolder(androidx.leanback.widget.Presenter.ViewHolder,java.lang.Object,java.util.List<java.lang.Object>)(
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder viewHolder,
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/Object.html item,
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/java/lang/Object.html> payloads
)`

Binds a `https://developer.android.com/reference/android/view/View.html` to an item with a list of payloads.
`abstract @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder` `https://developer.android.com/reference/androidx/leanback/widget/Presenter#onCreateViewHolder(android.view.ViewGroup)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/ViewGroup.html parent)`

Creates a new `https://developer.android.com/reference/android/view/View.html`.
`abstract void` `https://developer.android.com/reference/androidx/leanback/widget/Presenter#onUnbindViewHolder(androidx.leanback.widget.Presenter.ViewHolder)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder viewHolder)`

Unbinds a `https://developer.android.com/reference/android/view/View.html` from an item.
`void` `https://developer.android.com/reference/androidx/leanback/widget/Presenter#onViewAttachedToWindow(androidx.leanback.widget.Presenter.ViewHolder)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder holder)`

Called when a view created by this presenter has been attached to a window.
`void` `https://developer.android.com/reference/androidx/leanback/widget/Presenter#onViewDetachedFromWindow(androidx.leanback.widget.Presenter.ViewHolder)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder holder)`

Called when a view created by this presenter has been detached from its window.
`final void` `https://developer.android.com/reference/androidx/leanback/widget/Presenter#setFacet(java.lang.Class<?>,java.lang.Object)(https://developer.android.com/reference/java/lang/Class.html<@https://developer.android.com/reference/androidx/annotation/NonNull ?> facetClass, https://developer.android.com/reference/java/lang/Object.html facetImpl)`

Sets dynamic implemented facet in addition to basic Presenter functions.
`void` `https://developer.android.com/reference/androidx/leanback/widget/Presenter#setOnClickListener(androidx.leanback.widget.Presenter.ViewHolder,android.view.View.OnClickListener)(
https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder holder,
https://developer.android.com/reference/android/view/View.OnClickListener.html listener
)`

Called to set a click listener for the given view holder.
From [androidx.leanback.widget.RowPresenter](https://developer.android.com/reference/androidx/leanback/widget/RowPresenter) `void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#dispatchItemSelectedListener(androidx.leanback.widget.RowPresenter.ViewHolder,boolean)(
https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder vh,
boolean selected
)`

This method is only called from `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#onRowViewSelected(androidx.leanback.widget.RowPresenter.ViewHolder,boolean)` onRowViewSelected.
`void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#freeze(androidx.leanback.widget.RowPresenter.ViewHolder,boolean)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder holder, boolean freeze)`

Freezes/unfreezes the row, typically used when a transition starts/ends.
`final https://developer.android.com/reference/androidx/leanback/widget/RowHeaderPresenter` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#getHeaderPresenter()()`

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

Returns the `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder` from the given RowPresenter ViewHolder.
`final boolean` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#getSelectEffectEnabled()()`

Returns true if the row selection effect is enabled.
`final float` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#getSelectLevel(androidx.leanback.widget.Presenter.ViewHolder)(https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder vh)`

Returns the current select level.
`final int` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#getSyncActivatePolicy()()`

Returns the policy of updating row view activated status.
`void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#initializeRowViewHolder(androidx.leanback.widget.RowPresenter.ViewHolder)(https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder vh)`

Called after a `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder` is created for a Row.
`boolean` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#isClippingChildren()()`

Returns true if the Row view should clip its children.
`boolean` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#isUsingDefaultSelectEffect()()`

Returns true if this RowPresenter is using the default dimming effect.
`final void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#onBindViewHolder(androidx.leanback.widget.Presenter.ViewHolder,java.lang.Object)(
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder viewHolder,
@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html item
)`

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

Creates a new `https://developer.android.com/reference/android/view/View.html`.
`void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#onRowViewExpanded(androidx.leanback.widget.RowPresenter.ViewHolder,boolean)(https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder vh, boolean expanded)`

Called when the row view's expanded state changes.
`void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#onSelectLevelChanged(androidx.leanback.widget.RowPresenter.ViewHolder)(https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder vh)`

Callback when the select level changes.
`final void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#onUnbindViewHolder(androidx.leanback.widget.Presenter.ViewHolder)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder viewHolder)`

Unbinds a `https://developer.android.com/reference/android/view/View.html` from an item.
`final void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#onViewAttachedToWindow(androidx.leanback.widget.Presenter.ViewHolder)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder holder)`

Called when a view created by this presenter has been attached to a window.
`final void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#onViewDetachedFromWindow(androidx.leanback.widget.Presenter.ViewHolder)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder holder)`

Called when a view created by this presenter has been detached from its window.
`void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#setEntranceTransitionState(androidx.leanback.widget.RowPresenter.ViewHolder,boolean)(
@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/leanback/widget/RowPresenter.ViewHolder holder,
boolean afterEntrance
)`

Changes the visibility of views.
`final void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#setHeaderPresenter(androidx.leanback.widget.RowHeaderPresenter)(https://developer.android.com/reference/androidx/leanback/widget/RowHeaderPresenter headerPresenter)`

Sets the Presenter used for rendering the header.
`final void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#setRowViewExpanded(androidx.leanback.widget.Presenter.ViewHolder,boolean)(https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder holder, boolean expanded)`

Sets the expanded state of a Row view.
`final void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#setRowViewSelected(androidx.leanback.widget.Presenter.ViewHolder,boolean)(https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder holder, boolean selected)`

Sets the selected state of a Row view.
`final void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#setSelectEffectEnabled(boolean)(boolean applyDimOnSelect)`

Enables or disables the row selection effect.
`final void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#setSelectLevel(androidx.leanback.widget.Presenter.ViewHolder,float)(https://developer.android.com/reference/androidx/leanback/widget/Presenter.ViewHolder vh, float level)`

Sets the current select level to a value between 0 (unselected) and 1 (selected).
`final void` `https://developer.android.com/reference/androidx/leanback/widget/RowPresenter#setSyncActivatePolicy(int)(int syncActivatePolicy)`

Sets the policy of updating row view activated status.

## Public constructors

### PlaybackTransportRowPresenter

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

```
public PlaybackTransportRowPresenter()
```

## Public methods

### getDefaultSeekIncrement

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

```
public float getDefaultSeekIncrement()
```

Get default seek increment if `https://developer.android.com/reference/androidx/leanback/widget/PlaybackSeekDataProvider` is null.

| Returns |
|---|---|
| `float` | float value between 0(inclusive) and 1(inclusive). |

### getOnActionClickedListener

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

```
public OnActionClickedListener getOnActionClickedListener()
```

Returns the listener for `https://developer.android.com/reference/androidx/leanback/widget/Action` click events.

### getProgressColor

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

```
public @ColorInt int getProgressColor()
```

Returns the primary color for the progress bar. If no color was set, transparent is returned.

### getSecondaryProgressColor

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

```
public @ColorInt int getSecondaryProgressColor()
```

Returns the secondary color for the progress bar. If no color was set, transparent is returned.

### onReappear

```
public void onReappear(RowPresenter.ViewHolder rowViewHolder)
```

Provides hook to update the UI when the view reappears.

### setDefaultSeekIncrement

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

```
public void setDefaultSeekIncrement(float ratio)
```

Set default seek increment if `https://developer.android.com/reference/androidx/leanback/widget/PlaybackSeekDataProvider` is null.

| Parameters |
|---|---|
| `float ratio` | float value between 0(inclusive) and 1(inclusive). |

### setDescriptionPresenter

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

```
public void setDescriptionPresenter(Presenter descriptionPresenter)
```

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/widget/Presenter descriptionPresenter` | Presenter for displaying item details. |

### setOnActionClickedListener

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

```
public void setOnActionClickedListener(OnActionClickedListener listener)
```

Sets the listener for `https://developer.android.com/reference/androidx/leanback/widget/Action` click events.

### setProgressColor

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

```
public void setProgressColor(@ColorInt int color)
```

Sets the primary color for the progress bar. If not set, a default from the theme will be used.

### setSecondaryProgressColor

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

```
public void setSecondaryProgressColor(@ColorInt int color)
```

Sets the secondary color for the progress bar. If not set, a default from the theme will be used.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/ColorInt int color` | Color used to draw secondary progress. |

## Protected methods

### createRowViewHolder

```
protected RowPresenter.ViewHolder createRowViewHolder(ViewGroup parent)
```

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

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/view/ViewGroup.html parent` | The parent View for the Row's view holder. |

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

### onBindRowViewHolder

```
protected void onBindRowViewHolder(
    @NonNull RowPresenter.ViewHolder holder,
    @NonNull Object item
)
```

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

### onProgressBarClicked

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

```
protected void onProgressBarClicked(PlaybackTransportRowPresenter.ViewHolder vh)
```

Client of progress bar is clicked, default implementation delegate click to PlayPauseAction.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/leanback/widget/PlaybackTransportRowPresenter.ViewHolder vh` | ViewHolder of PlaybackTransportRowPresenter |

### onRowViewAttachedToWindow

```
protected void onRowViewAttachedToWindow(@NonNull RowPresenter.ViewHolder vh)
```

Invoked when the row view is attached to the window.

### onRowViewDetachedFromWindow

```
protected void onRowViewDetachedFromWindow(@NonNull RowPresenter.ViewHolder vh)
```

Invoked when the row view is detached from the window.

### onRowViewSelected

```
protected void onRowViewSelected(RowPresenter.ViewHolder vh, boolean selected)
```

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.

### onUnbindRowViewHolder

```
protected void onUnbindRowViewHolder(@NonNull RowPresenter.ViewHolder holder)
```

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