есть событие окончания прокрутки для повторного просмотра? - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть вид рециркулятора, и я хочу захватить событие, когда пользователь заканчивает прокрутку; я предполагаю, что когда пользователь убирает палец с экрана, я пробовал событие nItemTouchListener [onTouchEvent], но у меня ничего не получилось, на самом деле событие не запускается, есть идеи?

Спасибо!

1 Ответ

2 голосов
/ 01 апреля 2020

Я достиг этого с помощью OnScrollListener:

    recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() {
        override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
            super.onScrollStateChanged(recyclerView, newState)
            if (newState == SCROLL_STATE_DRAGGING) {
                //do something when scroll
            } else {
                //do something when stop scroll
            }
        }
    })

Вот как я использую его в своем проекте, я только что создал функцию расширения, чтобы скрыть и показать кнопку Fab:

fun RecyclerView.addFabListener(fab: FloatingActionButton) {
    this.addOnScrollListener(object : RecyclerView.OnScrollListener() {
        override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
            super.onScrollStateChanged(recyclerView, newState)
            if (newState == SCROLL_STATE_DRAGGING) {
                fab.hide()
            } else {
                fab.show()
            }
        }
    })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...