今天主要是使用到了(newHolder.itemView.layoutParams as StaggeredGridLayoutManager.LayoutParams).isFullSpan = true
这个比较有意思的地方。
isFullSpan == true,这个 item 将会充满所有 span,也就是变成 spanCount == 1
isFullSpan == false, 这个 item 就会根据设置的 spanCount 来摆放位置
之后在涉及到View的样式的时候还是可以多多看一下LayoutParams
这块的内容,说不准有惊喜。 不过教练也提到叻
草,视图参数里面android作用域的更新很多都要用
layoutParams
的kotlin有个拓展函数叫
updateLayoutParams
,需要指定泛型同时传入一个block但是其实不光是width, height要用
layoutParam
来更新,margin也是
constriantlayout
布局里面也是用layoutParam
更新不过有个小坑,最顶层的
LayoutParam
并没有暴露margin参数。有一个单独的LayoutParam MarginLayoutParam
其实大部分
viewGroup
的LayoutParam
也是继承自MarginLayoutParam
就是(然后它以及它的子类才能动态设置margin
不过值得一提的是,padding却又不需要通过
LayoutParam
来设置我感觉应该是和父布局相关的参数需要用
LayoutParam
来设置/更新,你可以试试view.setPadding()
,会有这样的方法padding应该是只和这个视图自己有关,所以就没有这样的限定
然后虽然说不鼓励使用RecyclerView
嵌套,但是好像...还是有时候需要这么写,挺烦的。不过前天终于学会在Rv里面自定义多种样式了,估计搭配一下修改默认LayoutManager
的一些属性还可以有更多可以调整的地方。
还有第一天为了弄底栏而接触的Jetpack Navigation
,感觉Google其实提供了很多好东西,可以实现不少现在常用的效果。不过在自己没有学习compose
之前,估计挺多View控件还是要自己去摸索XML属性去做外观定义。
等闲下来了就整理总结一下吧,写个笔记文章之类的。水一篇估计也挺好(如果我没有摸鱼的话)