Сделайте прокрутку нижнего индикатора RecyclerView, если слишком много элементов - PullRequest
0 голосов
/ 02 марта 2020

Я столкнулся с проблемой:

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

https://github.com/MartinStamenkovski/ARIndicatorView

).

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

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

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

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

Вот фрагмент моего кода (где я прикрепляю мой индикатор ViewView к своему 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)
            }
        }
    })
}
...