# VerticalGridPresenter

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

*** ** * ** ***

<br />

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

*** ** * ** ***

A presenter that renders objects in a `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridView`.

## Summary

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

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#VerticalGridPresenter()()` Constructs a VerticalGridPresenter with defaults. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#VerticalGridPresenter(int)(focusZoomFactor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Constructs a VerticalGridPresenter with the given parameters. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#VerticalGridPresenter(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 VerticalGridPresenter 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/VerticalGridPresenter#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/VerticalGridPresenter#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/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#getFocusZoomFactor()()` Returns the zoom factor used for focus highlighting. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#getKeepChildForeground()()` Returns true if keeps foreground of child of this grid, the foreground will not be used for overlay color. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#getNumberOfColumns()()` Returns the number of columns in the vertical grid. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/OnItemViewClickedListener?` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#getOnItemViewClickedListener()()` Returns the item clicked listener. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/OnItemViewSelectedListener?` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#getOnItemViewSelectedListener()()` Returns the item selected listener. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#getShadowEnabled()()` Returns true if child shadow is enabled. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#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/VerticalGridPresenter#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/VerticalGridView`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#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 vertical grid. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#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/VerticalGridPresenter.ViewHolder` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#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/VerticalGridPresenter#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/VerticalGridPresenter#setEntranceTransitionState(androidx.leanback.widget.VerticalGridPresenter.ViewHolder,boolean)( holder: https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter.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/VerticalGridPresenter#setKeepChildForeground(boolean)(keep: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Set if keeps foreground of child of this grid, the foreground will not be used for overlay color. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#setNumberOfColumns(int)(numColumns: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the number of columns in the vertical grid. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#setOnItemViewClickedListener(androidx.leanback.widget.OnItemViewClickedListener)(listener: https://developer.android.com/reference/kotlin/androidx/leanback/widget/OnItemViewClickedListener?)` Sets the item clicked listener. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#setOnItemViewSelectedListener(androidx.leanback.widget.OnItemViewSelectedListener)(listener: https://developer.android.com/reference/kotlin/androidx/leanback/widget/OnItemViewSelectedListener?)` Sets the item selected listener. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#setShadowEnabled(boolean)(enabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Enable or disable child shadow. |

| ### Protected functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter.ViewHolder` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#createGridViewHolder(android.view.ViewGroup)(parent: https://developer.android.com/reference/android/view/ViewGroup.html)` Subclass may override this to inflate a different layout. |
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/ShadowOverlayHelper.Options` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#createShadowOverlayOptions()()` Create ShadowOverlayHelper Options. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter#initializeGridViewHolder(androidx.leanback.widget.VerticalGridPresenter.ViewHolder)(vh: https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter.ViewHolder)` Called after a `https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter.ViewHolder` is created. |

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

### VerticalGridPresenter

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

```
VerticalGridPresenter()
```

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

### VerticalGridPresenter

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

```
VerticalGridPresenter(focusZoomFactor: Int)
```

Constructs a VerticalGridPresenter 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()` enabled dimming on focus. |

### VerticalGridPresenter

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

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

Constructs a VerticalGridPresenter 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.

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

### getKeepChildForeground

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

```
fun getKeepChildForeground(): Boolean
```

Returns true if keeps foreground of child of this grid, the foreground will not be used for overlay color. Default value is true.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | True if keeps foreground of child of this grid. |

### getNumberOfColumns

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

```
fun getNumberOfColumns(): Int
```

Returns the number of columns in the vertical grid.

### getOnItemViewClickedListener

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

```
fun getOnItemViewClickedListener(): OnItemViewClickedListener?
```

Returns the item clicked listener.

### getOnItemViewSelectedListener

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

```
fun getOnItemViewSelectedListener(): OnItemViewSelectedListener?
```

Returns the item selected listener.

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

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

### 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/VerticalGridView`. Subclass may return false to disable default implementation of shadow and provide its own.

### 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 vertical grid. If subclass returns false in isUsingDefaultShadow() and does not use Z-shadow on SDK \>= L, it should override isUsingZOrder() return false.

### 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): VerticalGridPresenter.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.

### setEntranceTransitionState

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

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

Changes the visibility of views. The entrance transition will be run against the views that change visibilities. 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/VerticalGridPresenter.ViewHolder` | The ViewHolder for the vertical grid. |
| `afterEntrance: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | true if children of vertical grid participating in entrance transition should be set to visible, false otherwise. |

### setKeepChildForeground

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

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

Set if keeps foreground of child of this grid, the foreground will not be used for overlay color. 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 grid. |

### setNumberOfColumns

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

```
fun setNumberOfColumns(numColumns: Int): Unit
```

Sets the number of columns in the vertical grid.

### setOnItemViewClickedListener

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

```
fun setOnItemViewClickedListener(listener: OnItemViewClickedListener?): Unit
```

Sets the item clicked listener. OnItemViewClickedListener will override `https://developer.android.com/reference/android/view/View.OnClickListener.html` that item presenter sets during `https://developer.android.com/reference/kotlin/androidx/leanback/widget/Presenter#onCreateViewHolder(android.view.ViewGroup)`. So in general, developer should choose one of the listeners but not both.

### setOnItemViewSelectedListener

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

```
fun setOnItemViewSelectedListener(listener: OnItemViewSelectedListener?): Unit
```

Sets the item selected listener. Since this is a grid the row parameter is always null.

### setShadowEnabled

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

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

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

## Protected functions

### createGridViewHolder

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

```
protected fun createGridViewHolder(parent: ViewGroup): VerticalGridPresenter.ViewHolder
```

Subclass may override this to inflate a different layout.

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

### initializeGridViewHolder

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

```
protected fun initializeGridViewHolder(vh: VerticalGridPresenter.ViewHolder): Unit
```

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

| Parameters |
|---|---|
| `vh: https://developer.android.com/reference/kotlin/androidx/leanback/widget/VerticalGridPresenter.ViewHolder` | The ViewHolder to initialize for the vertical grid. |