Как назначить диапазон сетки в эпоксидной смоле airbnb? - PullRequest
0 голосов
/ 14 апреля 2019

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

enter image description here

Как видно из примера приложения, ViewHolders можно разделить на 3 части. Эти детали могут быть представлены, в частности, в моделях, таких как HeaderViewModel_, ButtonBindingModel_ и CarouselModelGroup.

А код init RecyclerView следующий:

EpoxyRecyclerView recyclerView = (EpoxyRecyclerView) findViewById(R.id.recycler_view);
recyclerView.setLayoutManager(new GridLayoutManager(this, 2));

Согласно официальному документу:

Если используется GridLayoutManager, это автоматически синхронизирует диапазон считать с помощью EpoxyController.

Я обнаружил, HeaderViewModel_ и CarouselModelGroup правильно синхронизируют диапазон, но ButtonBindingModel_ - нет. Я искал слово "span" или "grid" по образцам кодов, Я просто не мог понять, почему ButtonBindingModel_ может иметь свой диапазон, равный 1.

Если я изменю настройку диапазона RecyclerView с 2 на 3:

EpoxyRecyclerView recyclerView = (EpoxyRecyclerView) findViewById(R.id.recycler_view);
recyclerView.setLayoutManager(new GridLayoutManager(this, 3));

enter image description here

HeaderViewModel_ и CarouselModelGroup еще осталось синхронизировать полный диапазон, но диапазон ButtonBindingModel_ все еще равен 1.

Я хотел бы знать, есть ли подход, чтобы сделать интервал от ButtonBindingModel_ до полного диапазона, и метод для установки HeaderViewModel_ и CarouselModelGroup на конкретный диапазон независимо от кода (программно) или компоновки. Пожалуйста, помогите мне разобраться в этой проблеме, я ценю это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...