我的文本和图像混合在一起,我想将适用的文本和图像放到一张卡上。当前代码适用于文本,但是,当我尝试添加图像时,总是出现错误。有谁知道该怎么做?
感谢您的帮助!
class Episode {
String seasonEpisode;
String airDate;
Image epImage;
Episode({this.seasonEpisode, this.airDate, this.epImage});
}
class EpisodeList extends StatefulWidget {
/*final Episode episodes;*/
@override
_EpisodeListState createState() => _EpisodeListState();
}
class _EpisodeListState extends State<EpisodeList> {
List<Episode> episodes = [
Episode(seasonEpisode: 'S24:E1', airDate: 'February 18, 2020', epImage: Image.asset('assets/Bachelor1.jpeg')),
Episode(seasonEpisode: 'S24:E2', airDate: 'February 25, 2020', epImage: Image.asset('assets/Bachelor1.jpeg')),
Episode(seasonEpisode: 'S24:E3', airDate: 'February 31, 2020', epImage: Image.asset('assets/Bachelor1.jpeg')),
];
Widget epCardTemplate(episode) {
return Card(
margin: const EdgeInsets.fromLTRB(16.0, 16.0, 16.0, 0.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Image.asset(episode.epImage),
Text(
episode.seasonEpisode
),
SizedBox(height: 6.0),
Text(
episode.airDate
),
],
),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: DARK_GREY_COLOR,
body: Column(
children: episodes.map((episode) => epCardTemplate(episode)).toList(),
)
);
}
}
答案 0 :(得分:0)
所以您在代码中所做的等同于
children: <Widget>[
Image.asset(Image.asset('assets/......')),
Text(
episode.seasonEpisode
),
SizedBox(height: 6.0),
Text(
episode.airDate
),
],
基本上,您是将图像放入另一个图像小部件中。