继续关注列表的第一项并滚动列表

时间:2019-10-23 11:54:12

标签: android-tv leanback android-scroll listrowpresenter

我正在开发一个Android TV应用程序,并显示列表中的项目。当我滚动从当前项目移到下一个项目的列表焦点时,我希望始终保持焦点在第一个项目上,并从相同的选定项目位置滚动整个列表。像this implementation of Hotstar。目前,我正在使用带有以下代码的Android ListRow。

AssetCardPresenter assetCardPresenter = new AssetCardPresenter(getActivity());
            MdsCompletedRecordingAdapter cardRowAdapter = new MdsCompletedRecordingAdapter(getActivity(), assetCardPresenter, 10);
            Map<String, MdsCompletedRecord> completedRecordingMap = getMdsCompletedRecordingProgramsMap(completedRecordedProgramList);
            HeaderItem headerItem = new HeaderItem(SCHEDULED_PROGRAM_HEADER_ID, COMPLETED_HEADER_NAME);
            ArrayList<MdsCompletedRecord> arrayList = new ArrayList<>(completedRecordingMap.values());
            Collections.reverse(arrayList);
            cardRowAdapter.addAllItems(arrayList);
            ListRow row = new ListRow(headerItem, cardRowAdapter);
            mRowAdapter.add(row);

1 个答案:

答案 0 :(得分:0)

您可以通过使用Leanback中的HorizontalGridView并设置这些参数以将焦点置于屏幕左侧来轻松实现此目的

    windowAlignment = BaseGridView.WINDOW_ALIGN_BOTH_EDGE
    windowAlignmentOffset = 0f
    windowAlignmentOffsetPercent = 0f
    itemAlignmentOffsetPercent = 0f