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

Posted

技术标签:

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

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

【问题讨论】:

您找到解决方案了吗?我也想实现同样的。 不,我没有:( 如果您有任何想法,请分享。 好的没问题,我会记住的 【参考方案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()
    

【讨论】:

以上是关于滚动时如何扩展 RecyclerView 项之间的空间的主要内容,如果未能解决你的问题,请参考以下文章

RecyclerView 自动滚动到 WebView/Fresco SimpleDraweeView 项

在键盘打开时将项目添加到 RecyclerView 时向下滚动

滚动时Android RecyclerView重复项

在滚动时在 recyclerview 中加载更多数据

当nestedscrollview 中的recyclerview 滚动时,对讲焦点转到工具栏项

向下滚动时 RecyclerView 项目之间的间隙较大