簡體   English   中英

從Android TV中的BrowseFragment中刪除上邊距

[英]Remove top margin from BrowseFragment in Android TV

如何刪除空白區域,如BrowseFragment中下圖中的虛線框所示。 我設法刪除搜索按鈕和標題。 雖然,我還想刪除空白區域並在屏幕頂​​部移動視頻行。

有沒有辦法做到這一點?

我嘗試在我的AppTheme中設置以下內容,但我懷疑它有幫助:

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

在此輸入圖像描述

您可以使用dimens.xml v17 Lean Back庫中提供的dimens.xml來完成此操作。

Follow the steps below first.

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

  2. 從他們的復制dimens.xml文件到您當前的leanback項目values文件夾。

  3. 現在,您在項目values文件夾中有了dimens.xml文件。

  4. 打開該文件,找到以下dimen

給定的默認值可能是167dp

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

因此,將其更改為大約30dp或根據您的需要。

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

您將在Browse Fragment獲取行。

如果只需要刪除片段中的標題邊距而不是全局覆蓋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;
}

IanZ解決方案完美運行。 獲取主容器的其他方法是FrameLayout containerDock = getView().findViewById(R.id.browse_container_dock); 在主片段中沒有覆蓋oncreateView方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM