6

如何删除空格,如下图的虚线框所示 BrowseFragment。我设法删除了搜索按钮和标题。虽然,我也想删除空白空间并将视频行移动到屏幕顶部。

有没有办法做到这一点?

我尝试在我的 AppTheme 中设置以下内容,但我怀疑它是否有帮助:

    <item name="browseRowsMarginTop">0dp</item>
    <item name="browsePaddingTop">0dp</item>

在此处输入图像描述

4

3 回答 3

12

您可以使用库dimens.xml中提供的它来执行此操作。v17 Lean Back

Follow the steps below first.

  1. 转到您的sdk-> extras-> android-> support-> v17-> leanback-> res-> values

  2. 从他们的副本dimens.xml文件到您当前的leanback 项目values文件夹中。

  3. 现在您dimens.xml的项目values文件夹中有该文件。

  4. 打开该文件并在下面找到dimen.

可以167dp给出默认值。

<dimen name="lb_browse_rows_margin_top">167dp</dimen>

因此,将其更改为大约30dp或根据您的需要。

<dimen name="lb_browse_rows_margin_top">30dp</dimen>

您将在Browse Fragment.

于 2016-10-28T07:12:39.467 回答
3

如果您需要仅删除片段中的页眉边距而不是全局覆盖 BrowseFragment:

    @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = super.onCreateView(inflater, container, savedInstanceState);
    FrameLayout containerDock = (FrameLayout) view.findViewById(R.id.browse_container_dock);
    FrameLayout.MarginLayoutParams params = (FrameLayout.MarginLayoutParams) containerDock.getLayoutParams();
    Resources resources = inflater.getContext().getResources();
    int newHeaderMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, resources.getDisplayMetrics());
    int offsetToZero = -resources.getDimensionPixelSize(R.dimen.lb_browse_rows_margin_top);
    params.topMargin = offsetToZero+newHeaderMargin;
    containerDock.setLayoutParams(params);
    return view;
}
于 2017-09-04T09:45:18.003 回答
-1

IanZ 解决方案完美运行。获取主容器的其他方法是 FrameLayout containerDock = getView().findViewById(R.id.browse_container_dock);在没有覆盖oncreateView方法的主片段中。

于 2019-04-08T19:45:31.550 回答