GridView在Leanback中按顺序填充

我正在努力为每个类别添加多行到我正在开发的Leanback(Android TV)项目 . 但是,我看到行填充方式的奇怪行为 . 我正在使用的代码,它来自一个教程,在这里:

http://corochann.com/browsefragment-listrow-customization-android-tv-application-hands-on-tutorial-18-705.html

通过将行传递到您在教程中创建的自定义 Presenter 来加载行 . 以下是该部分的功能:

int numRows = ((CustomListRow) item).getNumRows();
        ((ListRowPresenter.ViewHolder) holder).getGridView().setNumRows(numRows);

        super.onBindRowViewHolder(holder, item);

但是,当运行时填充 gridView() 时,它会从上到下填充项目,而不是从左到右填充 . 有没有办法来修复或调整这种行为,以便它们从左到右添加到网格中,就像应该是这样?

为了更好地参考,这里有两个截图 . 在这两个截图中,我正在加载相同的项目集:

[1] A normal row. Items load from left-to-right

[2] The multiple row implementation. Items load from top-to-bottom

回答(1)

2 years ago

尝试通读BrowseFragment ListRow它用于通过视频库显示 . Leanback库中的BrowseFragment类允许您使用最少量的代码创建用于浏览媒体项的类别和行的主布局 . BrowseFragment基本上呈现您提供的数据行 .

我建议您扫描有关如何创建Catalog Browser的文档,并尝试按照Google提供的codelab进行操作 . 您将学习如何使用Leanback库快速启用适用于Android TV的移动应用 .