Как показать эффект отказов, когда прокрутка отключена в обзоре переработчика? - PullRequest
0 голосов
/ 23 мая 2019

У меня есть recyclerview, который прокручивается по горизонтали. Я отключил прокрутку recyclerview, когда пользователь нажимает на элемент. Теперь, если пользователь попытается прокрутить список при его блокировке, я хочу показать эффект отказов, который он / она не сможет прокрутить дальше.

Например:

У меня есть список 10 items, и пользователь нажал на 5th item. Теперь прокрутка заблокирована, и когда пользователь пытается прокрутить, я хочу показать эффект отскока, который пользователь не может прокручивать.

Вот мой заказ LinearLayoutManager:

import android.content.Context
import android.support.v7.widget.LinearLayoutManager
import android.util.AttributeSet


class CustomLinearLayoutManager : LinearLayoutManager {
  private var isScrollEnabled = true

  constructor(context: Context) : super(context)

  constructor(context: Context, orientation: Int, reverseLayout: Boolean) : super(context, orientation, reverseLayout)

  constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes)


  fun setScrollEnabled(flag: Boolean) {
    this.isScrollEnabled = flag
  }

  override fun canScrollHorizontally(): Boolean {
    //Similarly you can customize "canScrollHorizontally()" for managing horizontal scroll
    return isScrollEnabled && super.canScrollHorizontally()
  }
}

Вот мой код повторного включения / выключения прокрутки:

val layoutManager = CustomLinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)
binding.recyclerView.layoutManager = layoutManager
layoutManager.setScrollEnabled(false)

1 Ответ

0 голосов
/ 23 мая 2019

вы можете использовать bouncy recyclerview для достижения этой функциональности и использовать ниже ссылку для его использования BoucncyRecyclerview или вы можете использовать эффект Overscroll в recyclerview, используя OverScroll, эффект recyclerview

...