首页 > 解决方案 > 更改 RowsSupportFragment 上的填充

问题描述

我尝试将leanback 与xml 结合起来,但我遇到了一些问题——填充leanback 行与填充其他元素不同。如何将填充更改为 RowsSupportFragment? 在此处输入图像描述

在xml中

<RelativeLayout
        android:id="@+id/tags_container"
        android:layout_below="@+id/guidance_icon"
        android:visibility="gone"
        android:layout_width="match_parent"
        android:layout_height="50dp"/>

在java代码中

RelativeLayout tags = view.findViewById(R.id.tags_container);
            ScreenshotFragment = FragmentScreenshots.newInstance(mFilm);
            getChildFragmentManager()
                    .beginTransaction()
                    .replace(tags.getId(), ScreenshotFragment)
                    .commit();

类片段截图

public static class FragmentScreenshots extends RowsSupportFragment {
    private Film mFilm = null;

    public static FragmentScreenshots newInstance(Film film) {
        FragmentScreenshots fragment = new FragmentScreenshots();
        Bundle args = new Bundle();
        args.putSerializable(ActivityFilm.PARAM_FILM, film);
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ListRowPresenter presenter = new CompatibleListRowPresenter(false, false, true);
        ArrayObjectAdapter mRowsAdapter = new ArrayObjectAdapter(presenter);
        List<AbstractCard> list = new ArrayList<>();
        setAdapter(mRowsAdapter);

        ...
        }
    }
}

标签: androidleanback

解决方案


我找到了可以在 RowsSupportFragment 上编辑填充的位置。

在您的活动主题中添加项目

<item name="rowHorizontalGridStyle">@style/CustomHorizontalGridView</item>

CustomHorizo​​ntalGridView中,您可以编辑填充

<style name="HorizontalGridView">
    <item name="android:focusable">true</item>
    <item name="android:focusableInTouchMode">true</item>

    <item name="android:paddingStart">@dimen/content_padding_horizontal</item>
    <item name="android:paddingEnd">@dimen/content_padding_horizontal</item>

    <item name="android:paddingBottom">@dimen/lb_browse_item_vertical_spacing</item>
    <item name="android:paddingTop">@dimen/lb_browse_item_vertical_spacing</item>
    <item name="android:horizontalSpacing">@dimen/lb_browse_item_horizontal_spacing</item>
    <item name="android:verticalSpacing">@dimen/lb_browse_item_vertical_spacing</item>
    <item name="focusOutFront">true</item>
</style>

推荐阅读