我们先看一个效果,问题说的就是中间的grid效果在scrollview 嵌套recyclerview显示问题,在android api 24是好的,不过在5,1,1版本(api 22)缺出现了问题
最近项目中,有一个商品详情页面,页面有好几个网格页面,大家说,我们大可以用gridview去做,但是需要方的要求是,我们的网格的中间的线怎么做呢,对于gridview,我们知道我们可以这是一个背景,然后用verticalspacing来做,这也算一个方法吧,但是对于line线的计算是一个问题,有很多的计算逻辑,这样对代码的美观就造成了破坏,且看一段之前的代码:
我们这里采用recycleview来实现。以前在scrollview中嵌套嵌套listview,无法正确的计算listview的大小,现在我们在scrollview中嵌套嵌套recycleview的时候,也出现了计算不出高度的问题,于是有人想到我们是不是可以自己实现一个重写一个继承自recycleview的类,重写ommeasure,呵呵,但是实际上这是不行的,recycleview是具体的一个控件,不相同与我们的listview,这里参照之前网上的解决方案,我们可以继承自gridmanager,然后对onmeasure重写,其他的列表效果如此,
至于划线,我们需要另一个类实现,这用到了recycle的一个方法
line线计算类:
好了,最后我们在使用的时候,先对recycleview初始化相关的属性参数:
至于网上有人说的,在recycleview外加一个布局,不知道什么原因,我这里还是没有解决。
好了,姑且记下,帮助后来人,有疑问请加群:278792776