如何删除空格,如下图的虚线框所示 BrowseFragment
。我设法删除了搜索按钮和标题。虽然,我也想删除空白空间并将视频行移动到屏幕顶部。
有没有办法做到这一点?
我尝试在我的 AppTheme 中设置以下内容,但我怀疑它是否有帮助:
<item name="browseRowsMarginTop">0dp</item>
<item name="browsePaddingTop">0dp</item>
如何删除空格,如下图的虚线框所示 BrowseFragment
。我设法删除了搜索按钮和标题。虽然,我也想删除空白空间并将视频行移动到屏幕顶部。
有没有办法做到这一点?
我尝试在我的 AppTheme 中设置以下内容,但我怀疑它是否有帮助:
<item name="browseRowsMarginTop">0dp</item>
<item name="browsePaddingTop">0dp</item>
您可以使用库dimens.xml
中提供的它来执行此操作。v17 Lean Back
Follow the steps below first.
转到您的sdk
-> extras
-> android
-> support
-> v17
-> leanback
-> res
-> values
。
从他们的副本dimens.xml
文件到您当前的leanback 项目values
文件夹中。
现在您dimens.xml
的项目values
文件夹中有该文件。
打开该文件并在下面找到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
方法的主片段中。