Flutter 如何包装小部件列表?
我有这个,但当我在屏幕上显示时,它会以垂直方式显示所有内容,而不是环绕。我需要它像一排一样展示一切。我正在创建一个widget列表,首先列出我需要的所有信息,以便用wrap widget呈现信息,但我选择了列表,它显示了所有信息,但没有包装Flutter 如何包装小部件列表?,flutter,Flutter,我有这个,但当我在屏幕上显示时,它会以垂直方式显示所有内容,而不是环绕。我需要它像一排一样展示一切。我正在创建一个widget列表,首先列出我需要的所有信息,以便用wrap widget呈现信息,但我选择了列表,它显示了所有信息,但没有包装 Widget _calcularPrecios(int i, double valor) { double trimestral = valor *3; double semestral = trimestral *2;
Widget _calcularPrecios(int i, double valor) {
double trimestral = valor *3;
double semestral = trimestral *2;
double anual = semestral *2;
double contado = anual-anual*0.12;
if(i==1) {
return Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
width: 5,
height: 50,
color: Color(0xFF1BB394),
),
Container(
decoration: BoxDecoration(
color: Color(0xFFE0F7FA)
),
width: 120,
height: 50,
child: Padding(
padding: const EdgeInsets.only(left: 10.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text('Mensual', style: TextStyle(
fontSize: 15, fontWeight: FontWeight.bold),),
Text('\$'+valor.toStringAsFixed(2), style: TextStyle(
fontSize: 15, fontWeight: FontWeight.w500))
],
),
),
)
],
);
}else if(i==2) {
return Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
width: 5,
height: 50,
color: Color(0xFF1BB394),
),
Container(
decoration: BoxDecoration(
color: Color(0xFFE0F7FA)
),
width: 120,
height: 50,
child: Padding(
padding: const EdgeInsets.only(left: 10.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text('Trimestral', style: TextStyle(
fontSize: 15, fontWeight: FontWeight.bold),),
Text('\$'+trimestral.toStringAsFixed(2), style: TextStyle(
fontSize: 15, fontWeight: FontWeight.w500))
],
),
),
)
],
);
}else if(i==3) {
return Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
width: 5,
height: 50,
color: Color(0xFF1BB394),
),
Container(
decoration: BoxDecoration(
color: Color(0xFFE0F7FA)
),
width: 120,
height: 50,
child: Padding(
padding: const EdgeInsets.only(left: 10.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text('Semestral', style: TextStyle(
fontSize: 15, fontWeight: FontWeight.bold),),
Text('\$'+semestral.toStringAsFixed(2), style: TextStyle(
fontSize: 15, fontWeight: FontWeight.w500))
],
),
),
)
],
);
}else if(i==4) {
return Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
width: 5,
height: 50,
color: Color(0xFF1BB394),
),
Container(
decoration: BoxDecoration(
color: Color(0xFFE0F7FA)
),
width: 120,
height: 50,
child: Padding(
padding: const EdgeInsets.only(left: 10.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text('Anual', style: TextStyle(
fontSize: 15, fontWeight: FontWeight.bold),),
Text('\$'+anual.toStringAsFixed(2), style: TextStyle(
fontSize: 15, fontWeight: FontWeight.w500))
],
),
),
)
],
);
}else if(i==5) {
return Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
width: 5,
height: 50,
color: Color(0xFF1BB394),
),
Container(
decoration: BoxDecoration(
color: Color(0xFFE0F7FA)
),
width: 120,
height: 50,
child: Padding(
padding: const EdgeInsets.only(left: 10.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text('Contado', style: TextStyle(
fontSize: 15, fontWeight: FontWeight.bold),),
Text('\$'+contado.toStringAsFixed(2), style: TextStyle(
fontSize: 15, fontWeight: FontWeight.w500))
],
),
),
)
],
);
}
}
List <Widget> _calcular(double valor){
List<Widget> temporal =[];
for(var i = 1; i<6;i++){
temporal.add(_calcularPrecios(i,valor));
}
return temporal;
}
(_calcular(valor).isNotEmpty)? Wrap(
children: _calcular(valor),
): Center(child: Text('Presione boton calcular')),
Widget\u calcularPrecios(整数i,双值){
双三叶草=valor*3;
双倍表面=三倍表面*2;
双环=半环*2;
双contado=无尿*0.12;
如果(i==1){
返回行(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
容器(
宽度:5,
身高:50,
颜色:颜色(0xFF1BB394),
),
容器(
装饰:盒子装饰(
颜色:颜色(0xFFE0F7FA)
),
宽度:120,
身高:50,
孩子:填充(
填充:仅限常量边集(左:10.0),
子:列(
mainAxisAlignment:mainAxisAlignment.center,
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
文本('mensional',样式:TextStyle(
fontSize:15,fontWeight:fontWeight.bold),
Text(“\$”+valor.toStringAsFixed(2),样式:TextStyle(
fontSize:15,fontWeight:fontWeight.w500)
],
),
),
)
],
);
}else如果(i==2){
返回行(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
容器(
宽度:5,
身高:50,
颜色:颜色(0xFF1BB394),
),
容器(
装饰:盒子装饰(
颜色:颜色(0xFFE0F7FA)
),
宽度:120,
身高:50,
孩子:填充(
填充:仅限常量边集(左:10.0),
子:列(
mainAxisAlignment:mainAxisAlignment.center,
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
文本('Trimestral',样式:TextStyle(
fontSize:15,fontWeight:fontWeight.bold),
Text(“\$”+trimestral.toStringAsFixed(2),样式:TextStyle(
fontSize:15,fontWeight:fontWeight.w500)
],
),
),
)
],
);
}else如果(i==3){
返回行(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
容器(
宽度:5,
身高:50,
颜色:颜色(0xFF1BB394),
),
容器(
装饰:盒子装饰(
颜色:颜色(0xFFE0F7FA)
),
宽度:120,
身高:50,
孩子:填充(
填充:仅限常量边集(左:10.0),
子:列(
mainAxisAlignment:mainAxisAlignment.center,
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
Text('semestal',样式:TextStyle(
fontSize:15,fontWeight:fontWeight.bold),
Text(“\$”+semetral.toStringAsFixed(2),样式:TextStyle(
fontSize:15,fontWeight:fontWeight.w500)
],
),
),
)
],
);
}else如果(i==4){
返回行(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
容器(
宽度:5,
身高:50,
颜色:颜色(0xFF1BB394),
),
容器(
装饰:盒子装饰(
颜色:颜色(0xFFE0F7FA)
),
宽度:120,
身高:50,
孩子:填充(
填充:仅限常量边集(左:10.0),
子:列(
mainAxisAlignment:mainAxisAlignment.center,
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
文本('Anual',样式:TextStyle(
fontSize:15,fontWeight:fontWeight.bold),
文本(“\$”+anual.ToStringsFixed(2),样式:TextStyle(
fontSize:15,fontWeight:fontWeight.w500)
],
),
),
)
],
);
}else如果(i==5){
返回行(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
容器(
宽度:5,
身高:50,
颜色:颜色(0xFF1BB394),
),
容器(
装饰:盒子装饰(
颜色:颜色(0xFFE0F7FA)
),
宽度:120,
身高:50,
孩子:填充(
填充:仅限常量边集(左:10.0),
子:列(
mainAxisAlignment:mainAxisAlignment.center,
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
Text('Contado',style:TextStyle(
fontSize:15,fontWeight:fontWeight.bold),
文本(“\$”+contado.toStringAsFixed(2),样式:TextStyle(
fontSize:15,fontWeight:fontWeight.w500)
],
),
),
)
],
);
}
}
列表计算(双值){
列表时间=[];
对于(var i=1;ii