优化 #5664
This commit is contained in:
@@ -61,10 +61,15 @@ class WebtoonRecyclerView @JvmOverloads constructor(
|
|||||||
|
|
||||||
override fun onScrolled(dx: Int, dy: Int) {
|
override fun onScrolled(dx: Int, dy: Int) {
|
||||||
super.onScrolled(dx, dy)
|
super.onScrolled(dx, dy)
|
||||||
val layoutManager = layoutManager
|
val layoutManager = layoutManager as LinearLayoutManager
|
||||||
lastVisibleItemPosition =
|
lastVisibleItemPosition = layoutManager.findLastVisibleItemPosition()
|
||||||
(layoutManager as LinearLayoutManager).findLastVisibleItemPosition()
|
|
||||||
firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition()
|
firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition()
|
||||||
|
|
||||||
|
val position = findCenterViewPosition()
|
||||||
|
if (position != NO_POSITION && position != mLastCenterViewPosition) {
|
||||||
|
mLastCenterViewPosition = position
|
||||||
|
mPreScrollListener?.onPreScrollListener(this, dx, dy, position)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onScrollStateChanged(state: Int) {
|
override fun onScrollStateChanged(state: Int) {
|
||||||
@@ -84,10 +89,6 @@ class WebtoonRecyclerView @JvmOverloads constructor(
|
|||||||
type: Int
|
type: Int
|
||||||
): Boolean {
|
): Boolean {
|
||||||
val position = findCenterViewPosition()
|
val position = findCenterViewPosition()
|
||||||
if (position != NO_POSITION && position != mLastCenterViewPosition) {
|
|
||||||
mLastCenterViewPosition = position
|
|
||||||
mPreScrollListener?.onPreScrollListener(this, dx, dy, position)
|
|
||||||
}
|
|
||||||
mNestedPreScrollListener?.onPreScrollListener(this, dx, dy, position)
|
mNestedPreScrollListener?.onPreScrollListener(this, dx, dy, position)
|
||||||
return super.dispatchNestedPreScroll(dx, dy, consumed, offsetInWindow, type)
|
return super.dispatchNestedPreScroll(dx, dy, consumed, offsetInWindow, type)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user