Отрицательное смещение приводит к исчезновению элемента RecyclerView - PullRequest
0 голосов
/ 04 июня 2018

В моем RecyclerView у меня есть изображение заголовка для каждой группы CardView.Изображение расширяется под первым видом карты, чтобы создать приятный визуальный эффект.Я достиг этого, создав держатель представления заголовка изображения и установив смещение первого CardView в каждой группе как отрицательное (используя ItemDecoration).Однако, как вы можете видеть в нижней части экрана, CardView исчезает до того, как полностью исчезнет с экрана.

enter image description here

Мой пользовательский элемент украшения

class OffsetItemDecoration(val offset: Int, val itemPositions: Array<Int>) : RecyclerView.ItemDecoration() {

    override fun getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State?) {
        super.getItemOffsets(outRect, view, parent, state)

        val position = parent.getChildAdapterPosition(view)
        val layoutManager = parent.layoutManager

        if (!itemPositions.contains(position) || layoutManager !is LinearLayoutManager) {
            return
        }
        outRect.top = offset
    }
}

В моих MainActivity:

val itemOffset = OffsetItemDecoration(-150, arrayOf(1, 5))
recycler_view.addItemDecoration(itemOffset)

Рекомендациидругие способы достижения того же эффекта будут также оценены

...