# RowHeaderPresenter

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

*** ** * ** ***

<br />

```
class RowHeaderPresenter : Presenter
```

<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.RowHeaderPresenter](https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter) |

*** ** * ** ***

RowHeaderPresenter provides a default presentation for `https://developer.android.com/reference/kotlin/androidx/leanback/widget/HeaderItem` using a `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderView` and optionally a TextView for description. If a subclass creates its own view, the subclass must also override `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter#onCreateViewHolder(android.view.ViewGroup)`, `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter#onSelectLevelChanged(androidx.leanback.widget.RowHeaderPresenter.ViewHolder)`.

## Summary

| ### Nested types |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter.ViewHolder : https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter.ViewHolder` A ViewHolder for the RowHeaderPresenter. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter#RowHeaderPresenter()()` Creates default RowHeaderPresenter using a title view and a description view. |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter#getSpaceUnderBaseline(androidx.leanback.widget.RowHeaderPresenter.ViewHolder)(holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter.ViewHolder)` Returns the space (distance in pixels) below the baseline of the text view, if one exists; otherwise, returns 0. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter#isNullItemVisibilityGone()()` Returns true if the view visibility is set to `https://developer.android.com/reference/android/view/View.html#GONE` when bound to null. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter#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/RowHeaderPresenter#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/RowHeaderPresenter#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/RowHeaderPresenter#setNullItemVisibilityGone(boolean)(nullItemVisibilityGone: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Optionally sets the view visibility to `https://developer.android.com/reference/android/view/View.html#GONE` when bound to null. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter#setSelectLevel(androidx.leanback.widget.RowHeaderPresenter.ViewHolder,float)(holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter.ViewHolder, selectLevel: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` Sets the select level. |

| ### Protected functions |
|---|---|
| `java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter#getFontDescent(android.widget.TextView,android.graphics.Paint)(textView: https://developer.android.com/reference/android/widget/TextView.html, fontMeasurePaint: https://developer.android.com/reference/android/graphics/Paint.html)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter#onSelectLevelChanged(androidx.leanback.widget.RowHeaderPresenter.ViewHolder)(holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter.ViewHolder)` Called when the select level changes. |

### 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.
`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.
`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.

## Public constructors

### RowHeaderPresenter

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

```
RowHeaderPresenter()
```

Creates default RowHeaderPresenter using a title view and a description view.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/RowHeaderPresenter.ViewHolder#ViewHolder(android.view.View)` |   |

## Public functions

### getSpaceUnderBaseline

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

```
fun getSpaceUnderBaseline(holder: RowHeaderPresenter.ViewHolder): Int
```

Returns the space (distance in pixels) below the baseline of the text view, if one exists; otherwise, returns 0.

### isNullItemVisibilityGone

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

```
fun isNullItemVisibilityGone(): Boolean
```

Returns true if the view visibility is set to `https://developer.android.com/reference/android/view/View.html#GONE` when bound to null.

### onBindViewHolder

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

Binds a `https://developer.android.com/reference/android/view/View.html` to an item.

### onCreateViewHolder

```
fun onCreateViewHolder(parent: ViewGroup): Presenter.ViewHolder
```

Creates a new `https://developer.android.com/reference/android/view/View.html`.

### onUnbindViewHolder

```
fun onUnbindViewHolder(viewHolder: Presenter.ViewHolder): Unit
```

Unbinds a `https://developer.android.com/reference/android/view/View.html` from an item. Any expensive references may be released here, and any fields that are not bound for every item should be cleared here.

### setNullItemVisibilityGone

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

```
fun setNullItemVisibilityGone(nullItemVisibilityGone: Boolean): Unit
```

Optionally sets the view visibility to `https://developer.android.com/reference/android/view/View.html#GONE` when bound to null.

### setSelectLevel

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

```
fun setSelectLevel(holder: RowHeaderPresenter.ViewHolder, selectLevel: Float): Unit
```

Sets the select level.

## Protected functions

### getFontDescent

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

```
protected java-static fun getFontDescent(textView: TextView, fontMeasurePaint: Paint): Float
```

### onSelectLevelChanged

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

```
protected fun onSelectLevelChanged(holder: RowHeaderPresenter.ViewHolder): Unit
```

Called when the select level changes. The default implementation sets the alpha on the view.