Android TV。向VerticalGridFragment添加自定义视图

时间:2016-10-31 08:00:38

标签: customization android-tv

我正在构建Android TV应用,并希望向VerticalGridFragment添加一些视图。这可能吗?怎么样?

我使用的是leanback库版本25.0.0。谢谢你的所有答案。

1 个答案:

答案 0 :(得分:1)

leanback团队提供的leanback-showcase示例就如何执行此操作提供了一个很好的示例。我强烈建议您克隆该回购并在该项目中玩游戏。

您基本上想要使用Adapter初始化PresenterPresenterSelector知道如何展示您希望在列表中显示的视图。 This class就在这里有一个具体的例子,说明你正在寻找什么。

在示例中,他们使用Presenter,但如果您的列表是同质的(仅由一个模型支持),那么您可以将单个Adapter直接传递到Presenter - 比如VerticalGridPresenter gridPresenter = new VerticalGridPresenter(ZOOM_FACTOR); gridPresenter.setNumberOfColumns(COLUMNS); setGridPresenter(gridPresenter); here

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

VerticalGridFragment

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

上设置适配器
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()); }

df <- matrix(runif(25),5,5)
plot(1:5,seq(0,1,1/4),type = 'n')
mapply(lines,as.data.frame(df),col=cols,pch=1:5,type="o")