gpt4 book ai didi

flutter - 滚动 Controller animateTo()

转载 作者:行者123 更新时间:2023-12-01 13:17:29 27 4
gpt4 key购买 nike

我希望水平listView中的所选项目居中,所以我首先计算应该动画到(滚动到)的位置,它总是计算正确,但是当我选择一个远离当前所选项目的项目时,列表没有正确滚动到计算出的位置。

代码:

double _position =  index * (_width + 2 * _horizontalPadding)
+ (_selectedWidth+_horizontalPadding);
_scrollController.animateTo(
_position,
duration: Duration(milliseconds: 1000),
curve: Curves.ease);

其中 _width 是除所选元素之外的所有元素的宽度,因为它的宽度是 _selectedWidth ,水平填充是常数 .. 和 index 是所选项目的索引

最佳答案

尝试用 PostFrameCallback 包裹滚动条

WidgetsBinding.instance.addPostFrameCallback((_) {
double _position = index * (_width + 2 * _horizontalPadding)
+ (_selectedWidth+_horizontalPadding);
_scrollController.animateTo(
_position,
duration: Duration(milliseconds: 1000),
curve: Curves.ease);
}

关于flutter - 滚动 Controller animateTo(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53446611/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com