android – 如何使BrowseFragment只有一行可见

如何制作Android TV browseFragment界面,只有一行可以像YouTube应用一样显示

这是我的代码的基本结构:

browseFragment browseFragment = browseFragment.getInstance();

browseFragment.setHeadeRSState(browseFragment.HEADERS_ENABLED);
browseFragment.setTitle(getString(R.string.AplicationName));
browseFragment.setBadgeDrawable(ContextCompat.getDrawable(this, R.drawable.badge));

ArrayObjectAdapter rowsAdapter = new ArrayObjectAdapter(new ListRowPresenter());


for ( int i = 0; i < itemsCount; ++i ) {

    HeaderItem header = new HeaderItem(i, "Header" + items[i].title);
    ArrayObjectAdapter rowAdapter = new ArrayObjectAdapter(new CardPresenter());

    for ( int i = 0; i < subitemsCount; ++i ) {
        rowAdapter.add(subitems[i]);
    }

    rowsAdapter.add(new ListRow(header, rowAdapter));


}

browseFragment.setAdapter(rowsAdapter);

这将生成左侧的所有标题,但不是一个可见的项目行,而是获得一个包含所有行的网格,如示例应用程序:

解决方法:

您可以使用此处提供的自定义browseFragment组件:https://github.com/dextorer/BuildingForAndroidTV

您将能够复制YouTube电视应用提供的相同UI结构.

UPDATE

我写了一个简单的库,扩展了Leanback并提供了更简化(和可靠)的自定义.这里是:

Sofa

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...