GridView заполняется не по порядку в Leanback

Я работаю над добавлением нескольких строк для каждой категории в проект Leanback (Android TV), который я разрабатываю. Однако я вижу странное поведение в том, как заполняются строки. Код, который я использую, работает, он был из учебника, здесь:

http://corochann.com/browsefragment-listrow-customization-android-tv-application-hands-on-tutorial-18-705.html

Строки загружаются путем передачи их в пользовательский Presenter, который вы создаете в учебнике. Вот как работает эта часть:

        int numRows = ((CustomListRow) item).getNumRows();
        ((ListRowPresenter.ViewHolder) holder).getGridView().setNumRows(numRows);

        super.onBindRowViewHolder(holder, item);

Однако когда gridView() заполняется во время выполнения, он заполняет элементы сверху вниз, а не слева направо. Есть ли способ исправить или настроить это поведение, чтобы они добавлялись в gridvew слева направо, как и должно быть?

Для лучшего ознакомления вот два скриншота. На обоих скриншотах я загружаю один и тот же набор элементов:

[1] Обычная строка. Элементы загружаются слева направо

[2] Реализация нескольких строк. Элементы загружаются сверху вниз


person RyanInBinary    schedule 23.06.2016    source источник
comment
Вы смогли в этом разобраться?   -  person Roman Samoilenko    schedule 19.12.2018
comment
Я думаю, что закончил тем, что отверг обзор и изменил поведение таким образом. Хотя это было давно, так что не могу быть уверен.   -  person RyanInBinary    schedule 19.12.2018


Ответы (1)


Попробуйте прочитать BrowseFragment ListRow, где он используется для отображения через видеотеку. Класс BrowseFragment в библиотеке Leanback позволяет создать основной макет для просмотра категорий и строк элементов мультимедиа с минимальным объемом кода. BrowseFragment в основном отображает строки данных, которые вы предоставляете.

Я могу предложить вам просмотреть документацию о том, как создать браузер каталогов и попробуйте следовать codelab, предлагаемый Google. Вы узнаете, как быстро включить мобильное приложение для Android TV с помощью библиотеки Leanback.

person Android Enthusiast    schedule 26.06.2016