[英]Remove top margin from BrowseFragment in Android TV
您可以使用dimens.xml
v17 Lean Back
庫中提供的dimens.xml
來完成此操作。
Follow the steps below first.
轉到您的sdk
- > extras
- > android
- > support
- > v17
- > leanback
- > res
- > values
。
從他們的復制dimens.xml
文件到您當前的leanback項目values
文件夾。
現在,您在項目values
文件夾中有了dimens.xml
文件。
打開該文件,找到以下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.