【问题标题】:why if I change scroll Direction to Axis.horizontal it doesn't work?为什么如果我将滚动方向更改为 Axis.horizontal 它不起作用?
【发布时间】:2022-10-01 07:48:35
【问题描述】:
小部件构建(BuildContext 上下文){
返回脚手架(
背景颜色:常量颜色(0xFFE6E6E6),
正文:SingleChildScrollView(
孩子:安全区(
孩子:列(
孩子们: [
ListView.builder(
滚动方向:Axis.horizontal,
收缩包装:是的,
itemCount: iconList.length,
itemBuilder: (BuildContext context, int index) {
返回行(
孩子:[iconList[index]],
);
},
),
常量大小框(
身高:50,
),
标签:
flutter
flutter-test
flutter-widget
【解决方案1】:
请注意,您的小部件树中有 2 个可滚动小部件,SingleChildScrollView 和 ListView.builder,SingleChildScrollView 可以设置为水平滚动,并且不要忘记垂直对齐的列是子列。
如果你想要水平滚动的东西,你需要一个 Row 包裹着 SingleChildScrollView 和 scrollDirection: Axis.horizontal,同样的事情 listView
另一个注意事项:就像我说你有可滚动的小部件,所以最好考虑
不要使用ListView,因为您使用了SingleChildScrollView,而是根据您可以使用List.generate() 方法的索引生成小部件:
SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Row(
children: <Widget>[
// your other Widgets
...List.generate(iconList.length, (index) => YourWidgetExample(index)
),
],
)
考虑一下我在代码中是否有任何写作错误,因为我是直接在 Stackoverflow 编辑器中编写的
希望能帮助到你