我正在构建Android TV应用,并希望向VerticalGridFragment添加一些视图。这可能吗?怎么样?
我使用的是leanback库版本25.0.0。谢谢你的所有答案。
答案 0 :(得分:1)
leanback团队提供的leanback-showcase示例就如何执行此操作提供了一个很好的示例。我强烈建议您克隆该回购并在该项目中玩游戏。
您基本上想要使用Adapter
初始化Presenter
,PresenterSelector
知道如何展示您希望在列表中显示的视图。 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")