问题描述
我有一个带有 recyclerView
的 GridLayoutManager
,我想在垂直和水平模式下删除最后一个分隔线。
我尝试将 empty 设置为 outRect
中的最后一个位置,但它对我不起作用。
outRect.setEmpty()
fun RecyclerView.addItemdecorationWithoutLastDivider(orientation:Int) {
addItemdecoration(object :
DividerItemdecoration(context,orientation) {
override fun getItemOffsets(outRect: Rect,view: View,parent: RecyclerView,state: RecyclerView.State) {
super.getItemOffsets(outRect,view,parent,state)
if (parent.getChildAdapterPosition(view) == state.itemCount - 1)
outRect.setEmpty()
else
super.getItemOffsets(outRect,state)
}
})
}
我在这里设置了 recyclerView
:
recyclerView.apply {
adapter = mBanklistadapter
layoutManager = GridLayoutManager(requireContext(),3,RecyclerView.VERTICAL,false)
addItemdecorationWithoutLastDivider(DividerItemdecoration.VERTICAL)
addItemdecorationWithoutLastDivider(DividerItemdecoration.HORIZONTAL)
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)