我有一个很好的列表视图与领先的图像,标题和它的可点击。我想试着让它只是一个带有文本的图像列表。我看过gridview,但实际上每行只需要1张图片。这是我的listview代码。这是否可以更改,或者我是否需要重写它才能使其正常工作。
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new RefreshIndicator(
child: new ListView.builder(
itemBuilder: _itemBuilder,
itemCount: mylist.length,
),
onRefresh: _onRefresh,
));
}
Widget _itemBuilder (BuildContext context, int index) {
Specialties spec = getSpec(index);
return new SpecialtyWidget(spec: spec,);
}
Specialties getSpec(int index) {
return new Specialties(mylist[index]['id'], mylist[index]['name'], mylist[index]['details'], new Photo('lib/images/'+mylist[index]['image'], mylist[index]['name'], mylist[index]['name']));
//return new Specialties.fromMap(mylist[index]);
}
class SpecialtyWidget extends StatefulWidget {
SpecialtyWidget({Key key, this.spec}) : super(key: key);
final Specialties spec;
@override
_SpecialtyWidgetState createState() => new _SpecialtyWidgetState();
}
class _SpecialtyWidgetState extends State<SpecialtyWidget> {
@override
Widget build(BuildContext context) {
return new ListTile(
leading: new Image.asset(widget.spec.pic.assetName),
//title: new Text(widget.spec.name),
onTap: _onTap,
);
}
void _onTap() {
Route route = new MaterialPageRoute(
settings: new RouteSettings(name: "/specs/spec"),
builder: (BuildContext context) => new SpecPage(spec: widget.spec),
);
Navigator.of(context).push(route);
}
}如果它不能与列表视图一起工作,那么任何指导都会很有帮助。
提前感谢
发布于 2017-07-13 03:37:34
我很难理解您的问题,但听起来您希望列表中的条目使用与ListTile提供的布局不同的布局。
您可以使用Stack将文本放在图像的顶部(将它们合成在一起),或者使用Column将文本垂直放置在图像的上方。您还可以使用其他Flutter layout widgets来确保文本出现在正确的位置。
https://stackoverflow.com/questions/45065927
复制相似问题