此代码来自官方docs:
rvBla.addOnScrollListener(object : RecyclerView.OnScrollListener() {
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
super.onScrolled(recyclerView, dx, dy)
if (dy > 0) {
tvBla.apply {
if (visibility != View.GONE) {
animate()
.alpha(0f)
.setDuration(250L)
.setListener(object : AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator?) {
visibility = View.GONE
}
})
}
}
} else {
tvBla.apply {
if (visibility != View.VISIBLE) {
alpha = 0f
visibility = View.VISIBLE
animate()
.alpha(1f)
.setDuration(250L)
.setListener(null)
}
}
}
}
})
随着RecyclerView rvBla
向下滚动,tvBla
淡出。如果rvBla
向上滚动,则tvBla
会向后淡入。问题是,尽管tvBla
随250L
持续时间正确淡入,但它会立即淡出,好像其持续时间为0L
。
怎么了?