我正在尝试创建一个可以垂直和水平滚动的列表视图。我现在的问题是我可以使列表视图水平滚动但固定宽度。理想情况下,我希望宽度最小,而且我不会提前知道列表视图中元素的宽度,因此我希望它是动态的。现在,我的宽度设置为1000,这就是我要解决的问题。
SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: SizedBox(
width: 1000,
child: ListView.builder(
itemCount: count,
itemBuilder: (BuildContext context, int index) {
return Row(
children: <Widget>[
Text("Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,"),
],
);
},
),
),
),
答案 0 :(得分:0)
如果在两个方向上都使用SingleChildScrollView,而在垂直方向上都使用列而不是ListView,则更好。
class MyHomePage extends StatelessWidget {
MyHomePage({
Key key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: ListView.builder(
itemExtent: 100,
itemBuilder: (context, index) => SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Row(mainAxisSize: MainAxisSize.min, children: <Widget>[
Text(
"Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,Hello,"),
]),
)),
);
}
}