The Android Developer Challenge is back! Submit your idea before December 2.

MainFragmentAdapter

open class MainFragmentAdapter<T : Fragment!>
kotlin.Any
   ↳ androidx.leanback.app.BrowseFragment.MainFragmentAdapter

Interface that defines the interaction between BrowseFragment and its main content fragment. The key method is 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 BrowseFragment by overriding the necessary methods.

Clients are expected to provide an instance of MainFragmentAdapterRegistry which will be responsible for providing implementations of MainFragmentAdapter for given content types. Currently we support different types of content - ListRow, PageRow or any subtype of Row. We provide an out of the box adapter implementation for any rows other than PageRow - androidx.leanback.app.RowsFragment.MainFragmentAdapter.

PageRow is intended to give full flexibility to developers in terms of Fragment design. Users will have to provide an implementation of MainFragmentAdapter and provide that through MainFragmentAdapterRegistry. MainFragmentAdapter implementation can supply any fragment and override just those interactions that makes sense.

Summary

Public constructors

<init>(fragment: T)

Public methods

T

BrowseFragment.FragmentHost!

Returns the current host interface so that main fragment can interact with BrowseFragment.

open Boolean

Returns whether row scaling is enabled.

open Boolean

Returns whether its scrolling.

open Unit

Callback indicating transition end.

open Boolean

Callback indicating transition prepare start.

open Unit

Callback indicating transition start.

open Unit
setAlignment(windowAlignOffsetFromTop: Int)

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

open Unit

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

open Unit
setExpand(expand: Boolean)

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

open Unit
setScalingEnabled(scalingEnabled: Boolean)

Sets the row scaling property.

Public constructors

<init>

MainFragmentAdapter(fragment: T)

Public methods

getFragment

fun getFragment(): T

getFragmentHost

fun getFragmentHost(): BrowseFragment.FragmentHost!

Returns the current host interface so that main fragment can interact with BrowseFragment.

isScalingEnabled

open fun isScalingEnabled(): Boolean

Returns whether row scaling is enabled.

isScrolling

open fun isScrolling(): Boolean

Returns whether its scrolling.

onTransitionEnd

open fun onTransitionEnd(): Unit

Callback indicating transition end.

onTransitionPrepare

open fun onTransitionPrepare(): Boolean

Callback indicating transition prepare start.

onTransitionStart

open fun onTransitionStart(): Unit

Callback indicating transition start.

setAlignment

open fun setAlignment(windowAlignOffsetFromTop: Int): Unit

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

setEntranceTransitionState

open 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

open fun setExpand(expand: Boolean): Unit

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

setScalingEnabled

open fun setScalingEnabled(scalingEnabled: Boolean): Unit

Sets the row scaling property.