【发布时间】:2020-05-20 13:24:11
【问题描述】:
我在 NestedScrollView 中有 recyclerView。我想计算 recyclerview 的速度,但它在nestedScrollView 中不起作用。
这是计算滚动速度的代码,它在没有 NestedScrollView 的情况下工作。我也想让它与 NestedScrollView 一起使用。
我已将嵌套滚动设置为 false,但它不起作用
recyclerView.setNestedScrollingEnabled(false)
类:
abstract class ScrollSpeedRecycleViewScrollListener(private val maxScrollSpeedForAdInjection: Int) :
RecyclerView.OnScrollListener() {
var currentScrollSpeed: Int = 0
private var previousFirstVisibleItem = 0
private var previousEventTime: Long = 0
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
super.onScrolled(recyclerView, dx, dy)
val layoutManager = recyclerView.layoutManager
if (layoutManager is LinearLayoutManager) {
val firstItemPosition = layoutManager.findFirstVisibleItemPosition()
if (previousFirstVisibleItem != firstItemPosition) {
}
}
}
override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
super.onScrollStateChanged(recyclerView, newState)
when (newState) {
RecyclerView.SCROLL_STATE_IDLE -> {
if (currentScrollSpeed > maxScrollSpeedForAdInjection) {
listNeedsRefresh()
}
currentScrollSpeed = 0
}
}
}
}
【问题讨论】:
标签: android android-recyclerview android-nestedscrollview