Android TV:VerticalGridFragment 行项目对齐

fas*_*que 5 android android-layout android-tv leanback

我在 Android TV 项目中面临子类化问题VerticalGridFragment:一切正常,但如果一行中的项目少于最大列数,则项目将从中心开始水平对齐。

奇怪的是,只有当元素总数小于最大列数时才会发生这种情况。例如,假设这个数字是 6,如果我有 1 个项目,它将被放置在该行的中心。相反,如果我有 14 个项目,则第三行的 2 个项目将从左侧开始放置。

问题

有没有办法将一行中的项目与left或对齐start?难道我做错了什么?

我已经尝试过这种方式,但没有任何反应,项目从中心开始对齐。

<style name="AppTheme.Widget.Leanback.GridItems.VerticalGridView"
       parent="Widget.Leanback.GridItems.VerticalGridView">
    <item name="android:gravity">left|start</item>
</style>
Run Code Online (Sandbox Code Playgroud)

然后在我的主题中像这样设置它,该主题扩展自Theme.Leanback

<item name="itemsVerticalGridStyle">@style/AppTheme.Widget.Leanback.GridItems.VerticalGridView</item>
Run Code Online (Sandbox Code Playgroud)

cor*_*ann 4

也许VerticalGridView的父级本身<item>具有较小的宽度并与中心对齐。

您可以尝试将宽度设置VerticalGridViewmatch_parent(参见fasteque的注释)。