我正在尝试在此处实现不可滚动的ListView构建器,但似乎找不到解决方法。原因是因为我希望所有内容都是可滚动的,并且我不想在可滚动的父级中具有可滚动的小部件。
class _DashboardState extends State<Dashboard> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('App Bar Here')),
body: SingleChildScrollView(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text('Hello World'),
Container(
child: ListView.builder(
itemBuilder: (context, index) {
return Card(
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
children: <Widget>[
Container(
color: Color(0xffaaaaaa),
height: 20,
child: Text('Jss One')),
Text(
'English',
style: TextStyle(fontSize: 20),
),
],
),
),
);
},
itemCount: 50,
),
),],),));
}}
答案 0 :(得分:2)
class _DashboardState extends State<Dashboard> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('App Bar Here')),
body: SingleChildScrollView(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text('Hello World'),
Container(
child: ListView.builder(
physics: NeverScrollablePhysics() //add this line,
itemBuilder: (context, index) {
return Card(
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
children: <Widget>[
Container(
color: Color(0xffaaaaaa),
height: 20,
child: Text('Jss One')),
Text(
'English',
style: TextStyle(fontSize: 20),
),
],
),
),
);
},
itemCount: 50,
),
),],),));
}}
将Physics属性设置为NeverScrollablePhysics()以便不滚动lisview
答案 1 :(得分:1)
尝试使用listview
的物理属性
physics: NeverScrollableScrollPhysics()
希望有帮助。
答案 2 :(得分:0)
我想要的解决方案。
这里发生的是ListBuilder小部件将构建不在Scrollable小部件中的项目列表。父窗口小部件本身是可滚动的,这使得整个屏幕都可滚动。为此,请将Server-Sent Events
和shrinkWrap: true
添加到physics: NeverScrollableScrollPhysics()
属性中。
ListView.builder()