【问题标题】:How to expand space between RecyclerView Item while scrolling滚动时如何扩展 RecyclerView 项之间的空间
【发布时间】:2016-08-12 15:25:29
【问题描述】:

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

【问题讨论】:

  • 您找到解决方案了吗?我也想实现同样的。
  • 不,我没有:(
  • 如果您有任何想法,请分享。
  • 好的没问题,我会记住的

标签: android android-recyclerview android-animation recyclerview-layout


【解决方案1】:

我们可以做的一件事是在 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()
    }

【讨论】: