Flutter 颤振如何迭代贴图和打印值
我有一个我不知道如何解决的问题: 在我的应用程序中,有一个从firebase数据库检索数据的映射,到目前为止,一切正常。 现在,我想沿着map进行迭代,以在可滚动页面中打印容器中的键和值 我写了这段代码,它可以工作,但这个解决方案使容器可以滚动,而不是页面:(Flutter 颤振如何迭代贴图和打印值,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,我有一个我不知道如何解决的问题: 在我的应用程序中,有一个从firebase数据库检索数据的映射,到目前为止,一切正常。 现在,我想沿着map进行迭代,以在可滚动页面中打印容器中的键和值 我写了这段代码,它可以工作,但这个解决方案使容器可以滚动,而不是页面:( 小部件构建(构建上下文){ 返回脚手架( 背景颜色:新颜色(0xFFF8FF), appBar:新的appBar( 背景颜色:颜色。透明, 标高:0.0, iconTheme:new IconThemeData(颜色:Colors.blu
小部件构建(构建上下文){
返回脚手架(
背景颜色:新颜色(0xFFF8FF),
appBar:新的appBar(
背景颜色:颜色。透明,
标高:0.0,
iconTheme:new IconThemeData(颜色:Colors.blueAccent),
),
正文:新栏目(
mainAxisSize:mainAxisSize.max,
儿童:[
滑块,
卡片内容
],
));
final carDescrContent=新扩展(
子容器:新容器(
约束:BoxConstraints.expand(),
装饰:新盒子装饰(
颜色:颜色,白色,
形状:BoxShape.rectangle,
边界半径:新边界半径。圆形(8.0),
boxShadow:[
新盒影(
颜色:颜色。黑色,
半径:5.0,
偏移量:新偏移量(0.0,6.0))
]),
保证金:
常数边集对称(垂直:10.0,水平:25.0),
子项:新建ListView.builder(
itemCount:map.length,
itemBuilder:(构建上下文,int索引){
字符串key=map.keys.elementAt(索引);
退回新货柜(
边距:新边集。对称(水平:16.0),
儿童:
纵队(
crossAxisAlignment:crossAxisAlignment.start,
子项:[新文本(“${key}”)、新文本(映射[key]),
));
})));
谢谢您应该将
carDescrContent
值包装起来。它就像一个框,使其可以滚动
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: new Color(0xFFF8F8FF),
appBar: new AppBar(
backgroundColor: Colors.transparent,
elevation: 0.0,
iconTheme: new IconThemeData(color: Colors.blueAccent),
),
body: new Column(
mainAxisSize: MainAxisSize.max,
children: <Widget>[
slider,
carDescrContent
],
));
final carDescrContent = new Expanded(
child: new Container(
constraints: BoxConstraints.expand(),
decoration: new BoxDecoration(
color: Colors.white,
shape: BoxShape.rectangle,
borderRadius: new BorderRadius.circular(8.0),
boxShadow: <BoxShadow>[
new BoxShadow(
color: Colors.black12,
blurRadius: 5.0,
offset: new Offset(0.0, 6.0))
]),
margin:
const EdgeInsets.symmetric(vertical: 10.0, horizontal: 25.0),
child: new ListView.builder(
itemCount: map.length,
itemBuilder: (BuildContext context, int index) {
String key = map.keys.elementAt(index);
return new Container(
margin: new EdgeInsets.symmetric(horizontal: 16.0),
child:
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[new Text("${key}"), new Text(map[key])],
));
})));