在BrowseFragment上设置项目之间的边距

cor*_*ann 11 android android-tv

开发Android TV应用程序时,我遇到了Leanback支持库提供的BrowseFragment使用问题.我们可以更改RowsFragment项之间的边距吗?

cor*_*ann 9

在此输入图像描述

我自己找到了答案.键是Horizo​​ntalGridView,它存储每个行项列表.我们可以通过R.id.row_content获取这个Horizo​​ntalGridView的引用.最后,setItemMargin方法就是这个的解决方案.下面是一个示例代码,我可以获得顶级图像.

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent) {
    HorizontalGridView horizontalGridView = (HorizontalGridView) parent.findViewById(R.id.row_content);
    horizontalGridView.setItemMargin(400); // You can set item margin here.

    ...

    };
Run Code Online (Sandbox Code Playgroud)


Bil*_*lly 9

您可以覆盖某些样式来实现此目的,例如:

<style name="AppTheme.Leanback" parent="Theme.Leanback">
  ..
  <item name="rowHorizontalGridStyle">@style/TvHorizontalGridView</item>
  ..
</style>

<style name="TvHorizontalGridView" parent="Widget.Leanback.Row.HorizontalGridView">
    <item name="horizontalMargin">@dimen/margin_medium</item>
    <item name="verticalMargin">@dimen/margin_medium</item>
</style>
Run Code Online (Sandbox Code Playgroud)

@dimen/margin_medium您想要的边距大小在哪里.