Я столкнулся с проблемой:
У меня есть 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)
}
}
})
}