如何在滚动时扩展RecyclerView项目之间的空间

kaz*_*hiu 11 android android-animation android-recyclerview recyclerview-layout

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

自定义动画

kel*_*vin 0

我们可以做的一件事是在Srcoll上的ItemLayout下面隐藏和显示透明视图

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

并在适配器中

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()
    }
Run Code Online (Sandbox Code Playgroud)