Android TV.向VerticalGridFragment添加自定义视图 [英] Android TV. Adding custom views to VerticalGridFragment

查看:76
本文介绍了Android TV.向VerticalGridFragment添加自定义视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在构建一个Android TV应用,并想向VerticalGridFragment添加一些视图.那有可能吗?

I am building an Android TV app and want to add some views to VerticalGridFragment. Is that possible and how?

我正在使用leanback库版本25.0.0.谢谢您的回答.

I am using leanback library version 25.0.0. Thank you for all the answers.

推荐答案

leanback-showcase leanback团队提供的示例很好地说明了如何执行此操作.我强烈建议您克隆该仓库并在该项目中试用.

The leanback-showcase example provided by the leanback team has a great example on how to do this. I highly recommend you clone that repo and play around in that project.

您基本上需要使用 Presenter 初始化 Adapter ,该演示者知道如何呈现要在列表中显示的视图. ="nofollow noreferrer">此类在这里有一个确切的示例,确切说明了您要查找的内容.

You'll basically want to initialize an Adapter with a Presenter that knows how to present the views you'd like to display in your list. This class right here has a specific example of exactly what you're looking for.

在此示例中,他们使用 PresenterSelector ,但是如果您的列表是同质的(仅由一个模型支持),则可以将单个 Presenter 直接传递到 Adapter -类似于 Presenter

In the example they use a PresenterSelector, but if your list is homogenous (backed by only one model), then you can pass in a single Presenter directly into the Adapter - like the Presenter here.

在代码中-首先设置网格演示器

In code - first setup your grid presenter

VerticalGridPresenter gridPresenter = new VerticalGridPresenter(ZOOM_FACTOR);
gridPresenter.setNumberOfColumns(COLUMNS);
setGridPresenter(gridPresenter);

然后在 VerticalGridFragment

PresenterSelector cardPresenterSelector = new CardPresenterSelector(getActivity());
mAdapter = new ArrayObjectAdapter(cardPresenterSelector);
setAdapter(mAdapter);

然后将模型添加到您的 Adapter

Then add models to your Adapter

private void createRows() {
    String json = Utils.inputStreamToString(getResources()
            .openRawResource(R.raw.grid_example));
    CardRow row = new Gson().fromJson(json, CardRow.class);
    mAdapter.addAll(0, row.getCards());
}

这篇关于Android TV.向VerticalGridFragment添加自定义视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆