# BrowseSupportFragment.MainFragmentAdapter

# BrowseSupportFragment.MainFragmentAdapter

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

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter "View this page in Java")

<br />

```
class BrowseSupportFragment.MainFragmentAdapter<T : Fragment?>
```

<br />

Known direct subclasses  
[RowsSupportFragment.MainFragmentAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/app/RowsSupportFragment.MainFragmentAdapter)  

|---------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [RowsSupportFragment.MainFragmentAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/app/RowsSupportFragment.MainFragmentAdapter) |   |

*** ** * ** ***

Interface that defines the interaction between[BrowseSupportFragment](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment)and its main content fragment. The key method is[getFragment](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter#getFragment()), it will be used to get the fragment to be shown in the content section. Clients can provide any implementation of fragment and customize its interaction with[BrowseSupportFragment](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment)by overriding the necessary methods.

Clients are expected to provide an instance of[MainFragmentAdapterRegistry](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapterRegistry)which will be responsible for providing implementations of[MainFragmentAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter)for given content types. Currently we support different types of content -[ListRow](https://developer.android.com/reference/kotlin/androidx/leanback/widget/ListRow),[PageRow](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PageRow)or any subtype of[Row](https://developer.android.com/reference/kotlin/androidx/leanback/widget/Row). We provide an out of the box adapter implementation for any rows other than[PageRow](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PageRow)-[androidx.leanback.app.RowsSupportFragment.MainFragmentAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/app/RowsSupportFragment.MainFragmentAdapter).

[PageRow](https://developer.android.com/reference/kotlin/androidx/leanback/widget/PageRow)is intended to give full flexibility to developers in terms of Fragment design. Users will have to provide an implementation of[MainFragmentAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter)and provide that through[MainFragmentAdapterRegistry](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapterRegistry).[MainFragmentAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter)implementation can supply any fragment and override just those interactions that makes sense.

## Summary

|                                                                           ### Public constructors                                                                            |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [MainFragmentAdapter](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter#MainFragmentAdapter(T))`(fragment: T!)` |

|                                                               ### Public functions                                                               |
|--------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `T!`                                                                                                                                             | [getFragment](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter#getFragment())`()`                                                                                                                                                                                                                                                                                         |
| [BrowseSupportFragment.FragmentHost](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.FragmentHost)`!` | [getFragmentHost](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter#getFragmentHost())`()` Returns the current host interface so that main fragment can interact with[BrowseSupportFragment](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment).                                                                                  |
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)                                                              | [isScalingEnabled](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter#isScalingEnabled())`()` Returns whether row scaling is enabled.                                                                                                                                                                                                                                       |
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)                                                              | [isScrolling](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter#isScrolling())`()` Returns whether its scrolling.                                                                                                                                                                                                                                                          |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                                    | [onTransitionEnd](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter#onTransitionEnd())`()` Callback indicating transition end.                                                                                                                                                                                                                                             |
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)                                                              | [onTransitionPrepare](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter#onTransitionPrepare())`()` Callback indicating transition prepare start.                                                                                                                                                                                                                           |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                                    | [onTransitionStart](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter#onTransitionStart())`()` Callback indicating transition start.                                                                                                                                                                                                                                       |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                                    | [setAlignment](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter#setAlignment(int))`(windowAlignOffsetFromTop: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Sets the window alignment and also the pivots for scale operation.                                                                                                          |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                                    | [setEntranceTransitionState](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter#setEntranceTransitionState(boolean))`(state: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` For rows that willing to participate entrance transition, this function hide views if afterTransition is true, show views if afterTransition is false. |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                                    | [setExpand](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter#setExpand(boolean))`(expand: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Set the visibility of titles/hover card of browse rows.                                                                                                                                 |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                                    | [setScalingEnabled](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter#setScalingEnabled(boolean))`(scalingEnabled: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Sets the row scaling property.                                                                                                                                  |

## Public constructors

### MainFragmentAdapter

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

```
MainFragmentAdapter(fragment: T!)
```  

## Public functions

### getFragment

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

```
fun getFragment(): T!
```  

### getFragmentHost

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

```
fun getFragmentHost(): BrowseSupportFragment.FragmentHost!
```

Returns the current host interface so that main fragment can interact with[BrowseSupportFragment](https://developer.android.com/reference/kotlin/androidx/leanback/app/BrowseSupportFragment).  

### isScalingEnabled

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

```
fun isScalingEnabled(): Boolean
```

Returns whether row scaling is enabled.  

### isScrolling

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

```
fun isScrolling(): Boolean
```

Returns whether its scrolling.  

### onTransitionEnd

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

```
fun onTransitionEnd(): Unit
```

Callback indicating transition end.  

### onTransitionPrepare

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

```
fun onTransitionPrepare(): Boolean
```

Callback indicating transition prepare start.  

### onTransitionStart

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

```
fun onTransitionStart(): Unit
```

Callback indicating transition start.  

### setAlignment

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

```
fun setAlignment(windowAlignOffsetFromTop: Int): Unit
```

Sets the window alignment and also the pivots for scale operation.  

### setEntranceTransitionState

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

```
fun setEntranceTransitionState(state: Boolean): Unit
```

For rows that willing to participate entrance transition, this function hide views if afterTransition is true, show views if afterTransition is false.  

### setExpand

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

```
fun setExpand(expand: Boolean): Unit
```

Set the visibility of titles/hover card of browse rows.  

### setScalingEnabled

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

```
fun setScalingEnabled(scalingEnabled: Boolean): Unit
```

Sets the row scaling property.