不能将 ListView 放在 Column 中颤动?
Posted
技术标签:
【中文标题】不能将 ListView 放在 Column 中颤动?【英文标题】:Cannot put ListView inside Column in flutter? 【发布时间】:2021-05-02 07:05:04 【问题描述】:我需要列内的列表视图(它是 SingleChildScrollView 的子视图),但它没有显示出来!
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
class BalanceScreen extends StatelessWidget
@override
Widget build(BuildContext context)
return Scaffold(
body: SingleChildScrollView(
child: Column(
children: [
Padding(padding: const EdgeInsets.symmetric(vertical: 24), child: Center(child: Text('15 960 UZS',),),),
Container(height: 48, alignment: Alignment.centerLeft, padding: EdgeInsets.symmetric(horizontal: 24),
child: Row(children: [Text('Refill balance',), Spacer(), FaIcon(FontAwesomeIcons.chevronRight, size: 15,),],),),
///this is causing problem! But i need listview here
ListView(
children: [
Text('some text 1'),
Text('some text 2'),
],
)
],
),
),
);
这显示在终端中:
【问题讨论】:
【参考方案1】:SingleChildScrollView
应该被移除,ListView
应该被 Expanded
小部件包裹
Expanded(
child:ListView(
children: [
Text('some text 1'),
Text('some text 2'),
],
)
)
由于 ListView 的高度是无限的,并且 Column 小部件想要孩子的高度值。它给出了一个 hasSize 期望
【讨论】:
扩展没有帮助,但是容器对我不起作用,我需要在 ListView 中使用 ListView @Akbar Pulatov ListView 我认为 ListView 不是一个好习惯。如果你能解释你的主要目的是什么,我会建议一些其他的解决方案。 这对于重叠重量来说是非常好的解决方案【参考方案2】:在 ListView 中添加 shrinkWrap: true 应该可以解决错误
【讨论】:
它暂时完成了这项工作,但列表变得不可滚动。我删除了 SingleChildScrollView 并用 Expanded 小部件包装了 ListView。以上是关于不能将 ListView 放在 Column 中颤动?的主要内容,如果未能解决你的问题,请参考以下文章
Flutter - 另一个Listview内的Listview.builder
如何将listview的textview和edittext放在布局中
如何将第一个 Arraylist 放在 Item 中,将第二个 Arraylist 放在 SubItem 中(在 ListView 中)?