-
-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
trailingLayoutOffset或者layoutOffset计算会有精度问题 #44
Comments
你的加载出来的图片。记得自己记录下宽高比,不然都会重新layout计算。。理论上接口应该提供图片的宽高 |
有用AspectRatio 我们这个组件用了很久了,最近才发现这个小问题,并不影响业务。 我复现没用图片,就一个Container,高度都是50。在瀑布流最前面左右放两个一样的Container,翻页之后再回到顶部。 就会调用insertLeading方法计算,这是时候计算精度就不对了,左边的layoutOffset变成0.00000000000000XX,右边的还是0。 这样后面的insert方法执行时候,后面3、4号位置卡片计算的时候,final SliverWaterfallFlowParentData min获取的就不对了。 不过这只是一瞬间的bug,就是在往回划动时候的某一帧出现错位,马上位置重新计算后就正确了,而且只是在很慢的划动时候才出现。 |
精度问题一直都有,我按照其他组件一起改一下号了。。大概跟你说的一样 |
Version
master
Platforms
dart, iOS
Device Model
iPhone
flutter info
How to reproduce?
设置两列的瀑布流,在最前面设置两个高度一样的卡片,后面卡片随机高度。往下加载很多也页后,再重新往上划动回去。在最上面的两个卡片出来前,后面3、4号位计算位置的时候,layoutOffset有精度问题,导致判断左右位置不想等,3、4号卡片错位了。
insertLeading方法中
`
// Laid out the child before the leading.
data.trailingLayoutOffset = leading.layoutOffset! - gridDelegate.mainAxisSpacing;
data.layoutOffset = data.trailingLayoutOffset - paintExtentOf(child);
`
Logs
Example code (optional)
Contact
No response
The text was updated successfully, but these errors were encountered: