Как сместить второй столбец RecyclerView в Android? - PullRequest
0 голосов
/ 14 мая 2019

В настоящее время я разрабатываю приложение для Android, в котором я использую recyclerView, чтобы показать пользователю список доступных служб приложения. Прямо сейчас пользовательский интерфейс списка представляет собой простой прокручиваемый просмотр из двух столбцов с возможностью прокрутки, который выглядит так, как будто элементы привязаны так же, как в виде сетки.

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

Я видел другой вопрос, который спрашивает о том же, что и я (хотя бы по горизонтали, а не по вертикали), но ответы не помогли, и я не хочу возвращать нить к жизни ^^ RecyclerView - горизонтальная, двухрядная сетка, смещение второго ряда

Кто-нибудь знает способ сделать это? может быть, где-то есть библиотека, но я искал везде, но безуспешно мог найти ответы ...

Редактировать: Спасибо Бледу К. за решение: D Я добавил эту функцию и вызвал ее в OnBindViewHolder:

public void setViewOffset(int position){
            if(position==1){
                ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) this.f.getLayoutParams();
                params.topMargin = cardView.getHeight()/3;
                this.f.setLayoutParams(params);
            }else{
                ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) this.f.getLayoutParams();
                params.topMargin = 0;
                this.f.setLayoutParams(params);
            }
        }

в моем случае this.f - это limitLayout, который содержит мой просмотр карты и все.

1 Ответ

0 голосов
/ 14 мая 2019

Я собираюсь предположить, что вы используете свои Adapter и ViewHolder.Создайте метод внутри своего пользовательского ViewHolder, скажем ... void setViewOffset(int position), где вы бы установили другое левое поле для представления, если позиция является той, которую вы хотите.Вызовите этот метод в onBindViewHolder(int position) вашего адаптера и передайте возможность.

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

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