如何制作第二个容器



我最近开始在flutter中编程。我想在我的应用程序中添加第二个容器。当我在类中复制容器代码时,我在这部分文本中得到一个错误dead code。你能帮我加第二个集装箱吗?

NewsBoxFavourit(this._num);
@override
State<StatefulWidget> createState() => MyFormState();
}
class MyFormState extends State {
final _formKey = GlobalKey<FormState>();
@override
Widget build(BuildContext context) {
return Expanded(
child: Column(
children: <Widget>[
Text('Выполнено кругов'),
TextFormField(validator: (value){if (value.isEmpty) return 'Введите количество кругов';}),

],
),
);
}
}
class NewsBox extends StatelessWidget {
final String _title;
final String _text;
String _imageurl;
int _num;
NewsBox(this._title, this._text, {String imageurl, int num = 0,}) {
_imageurl = imageurl;
_num = num;
}
@override
Widget build(BuildContext context) {
if (_imageurl != null && _imageurl != '') return new Container(
color: Colors.black12,
height: 100.0,
child:  Row(children: [
Image.network(_imageurl, width: 100.0, height: 100.0, fit: BoxFit.cover,),
Expanded(child:  Container(padding:  EdgeInsets.all(5.0), child:  Column(children: [
Text('Дата'),
TextFormField(validator: (value){if (value.isEmpty) return 'Введите количество кругов';}),
Expanded(child: Text(_text, softWrap: true, textAlign: TextAlign.justify,))
]
))
),  NewsBoxFavourit(_num,)
])
);
return Container(
color: Colors.black12,
height: 100.0,
child: Row(children: [
Expanded(child:  Container(padding:  EdgeInsets.all(5.0), child: Column(children: [
Text(_title, style:  TextStyle(fontSize: 20.0), overflow: TextOverflow.ellipsis),
Expanded(child: Text(_text, softWrap: true, textAlign: TextAlign.justify,))
]
))
),   NewsBoxFavourit(_num,)
])
);
@override
Widget build(BuildContext context) {
if (_imageurl != null && _imageurl != '') return new Container(
color: Colors.black12,
height: 100.0,
child:  Row(children: [
Image.network(_imageurl, width: 100.0, height: 100.0, fit: BoxFit.cover,),
Expanded(child:  Container(padding:  EdgeInsets.all(5.0), child:  Column(children: [
Text('Дата'),
TextFormField(validator: (value){if (value.isEmpty) return 'Введите количество кругов';}),
Expanded(child: Text(_text, softWrap: true, textAlign: TextAlign.justify,))
]
))
),  NewsBoxFavourit(_num,)
])
);
return Container(color:Colors.black12,
height: 100.0,
child: Row(children: [
Expanded(child:  Container(padding:  EdgeInsets.all(5.0), child: Column(children: [
Text(_title, style:  TextStyle(fontSize: 20.0), overflow: TextOverflow.ellipsis),
Expanded(child: Text(_text, softWrap: true, textAlign: TextAlign.justify,))
]
))
),   NewsBoxFavourit(_num,)
])
);
}
}

请解释为什么它不执行代码?如何制作第二个Continer?我需要用死代码做什么?

Flutter的工作方式与您的代码所显示的不同。您的NewsBox自定义小部件只能有一个构建方法。如果你想在一个小部件中有两个容器,那么试着使用Column、Row、Stack和许多其他小部件。这些可以在flutter文档中的多个子布局小部件下找到。我想你会想要Stack小部件,尽管我不知道你想要实现什么设计。

相关内容

最新更新