问题描述
我需要在 Column(它是 SingleChildScrollView 的子项)中使用 listview,但它没有显示出来!
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'),)
],);
}
}
解决方法
SingleChildScrollView
应该被删除,ListView
应该用 Expanded
小部件包装
Expanded(
child:ListView(
children: [
Text('some text 1'),Text('some text 2'),],)
)
由于 ListView 高度是无限的,而 Column 小部件想要孩子的高度值。它给出了一个 hasSize 期望
,在 ListView 中添加 shrinkWrap: true 应该可以解决错误