2

我正在努力将每个类别的多行添加到我正在开发的 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] 正常行。项目从左到右加载

[2] 多行实现。项目从上到下加载

4

2 回答 2

0

就我而言,我看到了不同的顺序,因为某些视图ViewHolders具有不同的高度,具体取决于它们的内容。可能是您的情况,请尝试将固定高度放在CardView

于 2021-12-28T14:51:00.617 回答
-2

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

我可以建议您扫描有关如何创建目录浏览器的文档并尝试遵循Google 提供的代码实验室。您将学习如何使用 Leanback 库为 Android TV 快速启用移动应用程序。

于 2016-06-26T18:28:47.490 回答