mikaelzero / mojito

微信、bilibili大图、长图、gif、视频、自定义view的转场效果,The transition effect of wechat, bilibili large image, long image, GIF, video and custom view
Apache License 2.0
1.51k stars 164 forks source link

这个好像和StaggeredGridLayoutManager有冲突 #28

Closed xxxxxxH closed 4 years ago

xxxxxxH commented 5 years ago

这个控件真的是屌,但是好像和StaggeredGridLayoutManager有冲突 如果用瀑布流的布局 就记录不了位置 返回的时候 mOriginTop全是0 而且如果用瀑布流的话 在加载fragment的时候 如果还用contentViewOriginModels.size 会越界 其他的我都不在意 我只想问问大佬 怎么在使用瀑布流的时候 正确记录位置 我已经研究好几天了 还没找到解决方法

mikaelzero commented 5 years ago

Layoutmanager的处理代码 在这里 https://github.com/MikaelZero/Diooto/blob/master/diooto/src/main/java/net/moyokoo/diooto/Diooto.java#L103 原因是没有处理瀑布流,后续再加吧,你可以自己穿所有view的位置 然后把view数组 传过去 而不是直接传recyclerview

xxxxxxH commented 5 years ago

好哒 我再去看看那

xxxxxxH commented 5 years ago

大佬大佬 瀑布流不好处理 传view数组过去怎么弄啊 难搞哦~ 是要遍历recyclerview把所有子view找出来放在数组里的意思吗

mikaelzero commented 5 years ago

https://github.com/MikaelZero/Diooto/blob/9a08504c94669b029274fb8b5a9ec846ef7d4e68/app/src/main/java/net/moyokoo/app/DisplayActivity.java#L130 参考下这里的代码

xxxxxxH commented 5 years ago

嗯 我就是这样写的 出来还是不对

mikaelzero commented 5 years ago

那你测试下穿进去的view的位置是否正确 这个我也还没试过

xxxxxxH commented 5 years ago

我直接使用 View[] views = new View[size];这个view 然后layoutmanager换成了grid 出现了问题 所有都不能拖拽会原味了 我把图片多加了20张

mikaelzero commented 5 years ago

换成了grid之后重新计算了位置了吗 多的20多张 是不是全都有计算出位置

xxxxxxH commented 5 years ago

在我自己的项目中是可以的 但是在你的demo中 貌似不行

mikaelzero commented 4 years ago

1.1.0已解决