在leanback库中,我们可以在BrowseFragment中创建RowFragment,它将包含动画并展开视图 . 这是BrowseFragment中正常的RowFragment:

  • 之前隐藏 Headers
    enter image description here

-after hide header
enter image description here

上面的项目来自here

我尝试在没有BrowseFragment的应用程序中单独实现Rows Fragment . 我试图复制文件,但没有BrowseFragment,它现在看起来像这样:
enter image description here

物品之间也没有余量 . 当缩放时,第一个项目被裁剪 . 我试图在片段中添加填充,但它更加裁剪

enter image description here

这是我从项目中复制的主要代码:

public class PageRowFragment extends RowsSupportFragment {
    private final ArrayObjectAdapter mRowsAdapter;

    public PageRowFragment() {
        mRowsAdapter = new ArrayObjectAdapter(new ShadowRowPresenterSelector());

        setAdapter(mRowsAdapter);
        setOnItemViewClickedListener(new OnItemViewClickedListener() {
            @Override
            public void onItemClicked(
                    Presenter.ViewHolder itemViewHolder,
                    Object item,
                    RowPresenter.ViewHolder rowViewHolder,
                    Row row) {
                Toast.makeText(getActivity(), "Implement click handler", Toast.LENGTH_SHORT)
                        .show();
            }
        });


    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        createRows();
//        getMainFragmentAdapter().getFragmentHost().notifyDataReady(getMainFragmentAdapter());
    }

    private void createRows() {
        String json = Util.inputStreamToString(getResources().openRawResource(
                R.raw.page_row_example));
        CardRow[] rows = new Gson().fromJson(json, CardRow[].class);
        for (CardRow row : rows) {
            if (row.getType() == CardRow.TYPE_DEFAULT) {
                mRowsAdapter.add(createCardRow(row));
            }
        }
    }

    private Row createCardRow(CardRow cardRow) {
        PresenterSelector presenterSelector = new CardPresenterSelector(getActivity());
        ArrayObjectAdapter adapter = new ArrayObjectAdapter(presenterSelector);
        for (Card card : cardRow.getCards()) {
            adapter.add(card);
        }

        HeaderItem headerItem = new HeaderItem(cardRow.getTitle());
        return new CardListRow(headerItem, adapter, cardRow);
    }
}

我应该添加什么,所以布局将像第二张图像一样?谢谢!