override fun getItemOffsets(
outRect: Rect,
view: View,
parent: RecyclerView,
state: RecyclerView.State
) {
super.getItemOffsets(outRect, view, parent, state)
outRect.set(0, headHeight, 0, 0)
}
回调中就一行set方法,屏蔽了就不会发生切换增大边距的现象, 否则每次切换回画面,recycler的悬浮header与recyclerview item的边距一次次增大。经过调试发现,是因为切换回画面的时候,多次给recyclerview设置addItemDecoration,判断一下即可解决:
if (recyclerview_list.itemDecorationCount == 0) {
recyclerview_list?.addItemDecoration(headDecpration!!)
}