美文网首页
Android RecyclerView 滚动监听

Android RecyclerView 滚动监听

作者: _发强 | 来源:发表于2021-08-27 21:24 被阅读0次

    前面整理了 ScrollView 的滑动监听,这里再记录一个 RecyclerView 的滑动事件。

    纵向滑动
       private var scrollY = 0
        private val scrollDistance by lazy {
            dp2px(40f)
        }
    
        private fun addOnScrollListener() {
            binding.lbRv.addOnScrollListener(object : RecyclerView.OnScrollListener() {
                override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
                    scrollY += dy
                    if (scrollY <= 0) {
                        binding.topLayout.setBackgroundResource(getColorById(android.R.color.transparent))
                    } else if (scrollY in 1..scrollDistance) {
                        binding.topLayout.setBackgroundColor(getColorById(R.color.c_fc4e52))
                        val rate = (scrollY.toFloat() / scrollDistance.toFloat())
                        binding.topLayout.background.alpha = (rate * 255).toInt()
    
                    } else {
                        binding.topLayout.setBackgroundColor(getColorById(R.color.c_fc4e52))
                        binding.topLayout.background.alpha = 255
                    }
                }
            })
        }
    

    相关文章

      网友评论

          本文标题:Android RecyclerView 滚动监听

          本文链接:https://www.haomeiwen.com/subject/xvkviltx.html