Sree Sree - 5 months ago 133
Android Question

Multiple ListRows for each Header on BrowseFragment - Leanback library

i'm getting started with Leanback support for our app.
As per UI requirements I need to add multiple list rows corresponding to each header, it's exactly like what Youtube App does on Android TV. Default ListRowPresenter seems to be rendering only one list row and its header. Is there any presenter that supports multiple list rows? I'm thinking on the lines creating a custom presenter with RowsFragment embedded in each item, correct me if my approach is wrong. Appreciate any help here. Thanksenter image description here

Answer

Is there any presenter that supports multiple list rows?

Not that I know of. The problem is that BrowseFragment only accepts children that subclass Row. For this reason, there can only be single rows (and their respective headers) for each entry in BrowseFragment.

I'm thinking on the lines creating a custom presenter with RowsFragment embedded in each item, correct me if my approach is wrong.

As I just mentioned, I doubt that creating a custom presenter would help.

The only solution I have been able to come up with so far is simply creating a custom version of BrowseFragment (by manually extending the RowsFragment and HeadersFragment classes) so that it supports any type of fragments.

If you're interested, I wrote a series of articles on the process https://medium.com/building-for-android-tv/

and a base project that offers the custom version of BrowseFragment https://github.com/dextorer/BuildingForAndroidTV

I'm also considering writing a library to ease the use of this custom component.

Comments