android - 从 recyclerView 网格布局管理器中删除最后一项装饰
问题描述
我有一个recyclerView
我GridLayoutManager
想在垂直和水平模式下删除最后一个分隔线。
我试图将空设置为最后一个位置,outRect
但它对我不起作用。
outRect.setEmpty()
我有一个extension
fun
这样的:
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, view, parent, state)
}
})
}
我在recyclerView
这里设置:
recyclerView.apply {
adapter = mBankListAdapter
layoutManager = GridLayoutManager(requireContext(),3,RecyclerView.VERTICAL,false)
addItemDecorationWithoutLastDivider(DividerItemDecoration.VERTICAL)
addItemDecorationWithoutLastDivider(DividerItemDecoration.HORIZONTAL)
}
解决方案
推荐阅读
- android - 制作Banner Ad上方的所有片段
- image-processing - 如 Su 的二值化论文中所述,如何创建对比度图像?
- java - 字符串索引值访问
- javascript - React/redux prev state 随着下一个 statewide 不断变化
- ssl - 如何使用配置 OpenSSL 的策略来签署具有多个 OU 的证书?
- java - 创建名称为 authenticationTokenFilterBean 的 bean 时出错:通过字段 tokenUtils 表达的依赖关系不满足
- java - 请求相机权限会导致 String.equals 中出现 NullPointerException
- python-3.x - 我将如何在自制的 python 环境中获取 python 的内置“输入”函数的用户输入?
- javascript - 条件(三元)运算符未按预期工作(Javascript)
- javascript - 如何在新页面或标签中打开此 javascript?