11

如何recyclerview在滚动时扩展项目之间的空间,如下所示。我尝试在onBindViewHolder方法中添加自定义动画,但此解决方案无法按我的意愿工作。它看起来像一些动画添加到RecyclerView.OnScrollListener.onScrolled方法。任何想法?谢谢。

自定义动画

4

1 回答 1

0

我们可以做的一件事是在 ItemLayout onSrcoll 下方隐藏并显示一个透明视图

var scrollListener = object : OnScrollListener() {
            override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
                super.onScrollStateChanged(recyclerView, newState)
                (list.adapter as CustomAdapter).changeState(newState)
            }
        }

并在适配器中

override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
        if(state == RecyclerView.SCROLL_STATE_IDLE){
            holder.view.visibility = View.GONE
        }else{
            holder.view.visibility = View.VISIBLE
        }
    }

    fun changeState(newState: Int) {
        state = newState
        notifyDataSetChanged()
    }
于 2020-09-08T09:38:17.107 回答