android - 滚动时如何扩展 RecyclerView Item 之间的空间

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

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

最佳答案

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

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()
    }

关于android - 滚动时如何扩展 RecyclerView Item 之间的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36735514/

相关文章:

android - 是否可以从 Realm 迁移到 Sqlite?

android - 将回收器 View 滚动到顶部时分页

android - Lottie 动画没有按预期工作

android - 恢复后使 RecyclerView 项目完全可见

java - 如何获取 Recycler View 中的 TextView 并将其发送到另一个 Activity 并将其添加到数组列表值中

java - 是否可以在android上随处设置转换速度/时间

android - 如何在 Android 中的其余 UI 和 View 层次结构上显示动画全屏 View ?

ImageView 中的 Android 中心位图

java - MediaPlayer 仅在特定 Activity 开始时继续播放

android - gradle依赖树使用方括号