GridLayoutManger с размером расходуемого элемента в Android

#java #android #kotlin #android-recyclerview #gridlayoutmanager

#java #Android #kotlin #android-recyclerview #gridlayoutmanager

Вопрос:

Я хочу иметь a GridLayoutManager с двумя столбцами, которые соответствуют его обычным схемам, как показано ниже:

введите описание изображения здесь

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

введите описание изображения здесь

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

введите описание изображения здесь

и когда я сворачиваю этот элемент, пространство между ними сохраняется. Я использовал StaggeredGridLayoutManager, но его проблема в том, что при расходовании элемента элементы под ним перемещаются в другую часть экрана. Каков наилучший способ сделать это? Спасибо.

Комментарии:

1. Я предполагаю, что расширенный раздел предназначен для # 1? Если это так, то это работает так, как ожидалось — GridLayoutManager определяет размеры всех элементов в строке, чтобы они были одинаковыми. Это менеджер компоновки СЕТКИ. Если бы он этого не делал, это не было бы сеткой. Если вам нужно другое поведение, вам нужно найти менеджер компоновки, который делает это, или написать свой собственный. StaggeredGridLayoutManager имеет функциональность, называемую обработкой пробелов, изменение этого параметра может помочь, или оно может вернуться к тому, с чего вы начали. Я не уверен, никогда не использовал его.

2. Я изменил это свойство StaggeredGridLayoutManager, но оно не сработало. Вы знаете, как я могу настроить это поведение для GridLayoutManger? или вы знаете менеджер компоновки, который действует так, как я хочу?