我的目标是保持列表的滚动位置。我将PageStorageKey添加到列表中。但是,这会导致列表中SelectableText出现奇怪的行为。感觉SelectableText也想保存/接收它的位置。因此,文本会四处跳跃(сalls animateTo()as Scrollable)。
有没有办法告诉SelectableText是一个静态文本,而不是滚动?
下面是重现问题的代码。您必须向下滚动,然后快速向上滚动,才能看到SelectableText开始跳跃(动画)。
class Home extends StatelessWidget {
const Home({super.key});
@override
Widget build(BuildContext context) => Scaffold(
body: ListView(
key: const PageStorageKey("key"),
children: [
...List.generate(10, (index) => const SelectableText("Selectable", style: TextStyle(fontSize: 20))),
...List.generate(200, (index) => Text("Text")),
],
),
);
}
示例:(https://i.postimg.cc/PfQMwrFg/ezgif-com-video-to-gif.gif)
1条答案
按热度按时间q9rjltbz1#
对于那些寻找答案的人。显然这是一个bug。已创建问题链接:https://github.com/flutter/flutter/issues/125298