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

*** ** * ** ***


```
public class BrowseSupportFragment.MainFragmentAdapter<T extends Fragment>
```

<br />

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

|---|---|
| `https://developer.android.com/reference/androidx/leanback/app/RowsSupportFragment.MainFragmentAdapter` |   |

*** ** * ** ***

Interface that defines the interaction between `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment` and its main content fragment. The key method is `https://developer.android.com/reference/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 `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment` by overriding the necessary methods.

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

`https://developer.android.com/reference/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 `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter` and provide that through `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapterRegistry`. `https://developer.android.com/reference/androidx/leanback/app/BrowseSupportFragment.MainFragmentAdapter` implementation can supply any fragment and override just those interactions that makes sense.

## Summary

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

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

## Public constructors

### MainFragmentAdapter

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

```
public MainFragmentAdapter(T fragment)
```

## Public methods

### getFragment

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

```
public final T getFragment()
```

### getFragmentHost

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

```
public final BrowseSupportFragment.FragmentHost getFragmentHost()
```

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

### isScalingEnabled

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

```
public boolean isScalingEnabled()
```

Returns whether row scaling is enabled.

### isScrolling

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

```
public boolean isScrolling()
```

Returns whether its scrolling.

### onTransitionEnd

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

```
public void onTransitionEnd()
```

Callback indicating transition end.

### onTransitionPrepare

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

```
public boolean onTransitionPrepare()
```

Callback indicating transition prepare start.

### onTransitionStart

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

```
public void onTransitionStart()
```

Callback indicating transition start.

### setAlignment

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

```
public void setAlignment(int windowAlignOffsetFromTop)
```

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)

```
public void setEntranceTransitionState(boolean state)
```

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)

```
public void setExpand(boolean expand)
```

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)

```
public void setScalingEnabled(boolean scalingEnabled)
```

Sets the row scaling property.