我有一个ReorderableListView,我使用proxyDecorator
来检测一个项目何时开始被拖动,然后调整它的高度,以及ListView中实际存在的底层Widget的高度(因为我假设proxyDecorator返回的Widget只是用来显示正在拖动的内容)。问题是,被拖动的项目被拖动的列表中的“空格”仍然是原来的大小,而不是反映了Widget的新大小。一旦放置了拖动的项目,如果我禁用代码以将其返回到原始大小,则列表视图的其余部分将聚集起来以反映新的大小。但我希望这一切都发生 * 只要拖行一开始。* 这可能吗?我尝试在proxyDecorator
中使用setState
调用,但这会导致在重建期间触发重建时出错。
2条答案
按热度按时间xpszyzbs1#
我不知道你说的
proxy decorator
是什么意思,但是如果你只是想在拖动一个项目的时候调整它的大小,这是可以做到的。的数据
显然,这只是一个快速演示,许多边缘案例没有测试。但是如果你感兴趣的话,这里是上面演示中使用的完整源代码:
字符串
dgsult0t2#
您可以使用
ReorderableListView
的proxyDecorator
成员顺利实现它。验证码:字符串
如果要在拖动开始时缩小小部件而不是放大小部件,则应该将
end
值更改为较小的值,例如0.8
。