CoordinatorLayout+AppBarLayout+RecyclerView踩过的坑 |
您所在的位置:网站首页 › viewpager2嵌套recyclerview宽度显示不全 › CoordinatorLayout+AppBarLayout+RecyclerView踩过的坑 |
在页面可以展示得下recyclerview时,recyclerview居然还可以滑动!!! 原谅菜鸡的我直接懵逼了,这是什么人间迷惑???后来去研究了一下,在HeaderScrollingViewBehavior中,recyclerview计算高度的时候还加上了AppBarLayout的可以滑动的距离,问题大概出在这里吧 没办法,只能自己去判断当前页面是否可以完全展示,可以的话禁止recyclerview滑动 但是这个判断吧,也有点超出我这个菜鸟的能力范围了 怎么说呢,我开始想,这还不简单吗,判断第一个完全显示的item和最后一个完全显示的item的pos不就好了吗,但还真不行,大概recyclerview的layoutmanager不是线程安全的吧,总获取不到正确的数据,我只是个菜鸟,这是什么人间惨剧 好了,我去找大佬求助了 大佬十分钟就解决了困扰我一上午的问题,大概就是有个类ViewTreeObserver,可以获取到线程安全的manager???反正还在迷惑中,打算先把coordinatorlayout搞清楚了再去看 wrap_content的问题 如果recyclerview和coordinatorlayout都设置为wrap_content,在可以完全展示recyclerview时会出现这样一个现象:coordinatorlayout的高度是recyclerview的高度,在appbarlayout显示时,recyclerview有部分会被挡住 行吧,那就match_parent叭 appbarlayout显示不完全 原来设置的是app:layout_scrollFlags="scroll|enterAlways",但是,我发现,在可以滑动时,我把appbarlayout滑到一半,然后把recyclerview切换成不可以滑动的选项(切换数据或者切换列数),这个时候recyclerview不可以滑动对吧,那么appbarlayout就只能显示一半 机智如我,加上了snap,也就是app:layout_scrollFlags="scroll|enterAlways|snap" |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |