Перекрытие просмотров внутри Recyclerview
Привет мне нужно реализовать макет, как показано на рис. Я попробовал этот ответ StackOverFlow
но результирующий вид создается как прикреплено ниже
Мне нужен этот правый нижний угол, чтобы быть выше следующей ячейки в обзоре переработчиков.
Подскажите пожалуйста, как можно сделать верхнюю часть ячейки ниже предыдущей ячейки.
1 ответ
Похоже, ты рядом. Проблемы, которые вы видите здесь:
- Смещение, которое вы используете в декораторе элементов из примера, который вы использовали, недостаточно велико - отсюда черные зазоры
- Порядок, в котором ваш менеджер линейного макета размещает ваши представления, сверху, что означает, что строка ниже будет отображаться над ячейкой выше.
Чтобы это исправить, сначала добавьте немного больше смещения, чтобы избавиться от черных зазоров.
Во-вторых, позвоните setReverseLayout(true)
на ваше LinearLayoutManager
(также может быть сделано через конструктор) - это заставит его сначала рисовать нижние элементы, так что ячейки будут рисоваться выше ячеек ниже.
Кроме того, вы можете поэкспериментировать с возвышением видов, чтобы получить эффект аккуратной тени, убедившись, что строка с индексом N будет иметь более высокий угол возвышения, чем строка с индексом N+1. Вы можете сделать это, позвонив myView.setElevation((getItemCount() - position) * SOME_DP_AMOUNT)
при привязке каждого вида в вашем адаптере.