Сделать прокрутку нижнего индикатора RecyclerView, если элементов слишком много

У меня проблема:

У меня есть RecyclerView с индикатором в нижней части круга (с использованием и настройкой этой библиотеки:

https://github.com/MartinStamenkovski/ARIndicatorView

).

Все работает нормально, у меня только одна проблема, которую я не могу решить:

когда в моем индикаторе слишком много элементов, они вырезаются за пределы экрана.

Я пробовал много решений, например свойства translationX и scrollX, но не получаю нужного результата.

У вас есть какие-либо предложения?

Вот фрагмент моего кода (где я прикрепляю свой индикатор View к своему recyclerView):

fun attachTo(recyclerView: RecyclerView?, snapHelper: SnapHelper) {
    this.recyclerView = recyclerView
    addIndicators(recyclerView)
    snapHelper.attachToRecyclerView(recyclerView)

    snapPosition = snapHelper.getSnapPosition(recyclerView!!)

    this.recyclerView?.addOnScrollListener(object : RecyclerView.OnScrollListener() {

        override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
            super.onScrolled(recyclerView, dx, dy)
            if (recyclerView.layoutManager is LinearLayoutManager) {
                if (dx > 0) {
                    (recyclerView.layoutManager as LinearLayoutManager).findLastVisibleItemPosition()
                } else {
                    (recyclerView.layoutManager as LinearLayoutManager).findFirstVisibleItemPosition()
                }

                val snapPostion = snapHelper.getSnapPosition(recyclerView)

                selectIndicatorAt(snapPostion)
            }
        }
    })
}

0 ответов

Другие вопросы по тегам