See in the categories below catalogues 我无法在我的图像下方显示字幕
我所做的就是贴在下面。我想查看图像的标题,并且路径已经提供并存储在图像的ImageLocation变量和字幕文本的ImageCaption变量中。下面是该页面的完整代码,并且在main.dart中调用了HorizontalList类
import 'package:flutter/material.dart';
class HorizontalList extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
height: 80.0,
child:ListView(
scrollDirection: Axis.horizontal,
children: <Widget>[
Category(
imageLocation: 'images/cats/tshirt.png',
imageCaption: 'shirt',
),
Category(
imageLocation: 'images/cats/jeans.png',
imageCaption: 'jeans',
),
Category(
imageLocation: 'images/cats/dress.png',
imageCaption: 'dress',
),
Category(
imageLocation: 'images/cats/formal.png',
imageCaption: 'formal',
),
Category(
imageLocation: 'images/cats/shoe.png',
imageCaption: 'shoe',
),
Category(
imageLocation: 'images/cats/informal.png',
imageCaption: 'informal',
),
Category(
imageLocation: 'images/cats/accessories.png',
imageCaption: 'accessory',
),
],
),
);
}
}
class Category extends StatelessWidget {
final String imageLocation;
final String imageCaption;
Category({
this.imageLocation,
this.imageCaption
});
@override
Widget build(BuildContext context) {
return Padding(padding: const EdgeInsets.all(2.0),
child: InkWell(
onTap: (){},
child: Container(
width: 100.0,
child: new ListTile(
title: Image.asset(
imageLocation,
width: 100.0,
height: 80.0
),
subtitle: Container(
alignment: Alignment.topCenter,
child: Text(imageCaption, style: new TextStyle(fontSize: 12.0),)
),
),
),
),
);
}
}
你只需要删除height: 80.0,
,因为它正在修剪你的卡
所以你的代码将是
import 'package:flutter/material.dart';
class HorizontalList extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
child:ListView(
scrollDirection: Axis.horizontal,
children: <Widget>[
Category(
imageLocation: 'images/cats/tshirt.png',
imageCaption: 'shirt',
),
Category(
imageLocation: 'images/cats/jeans.png',
imageCaption: 'jeans',
),
Category(
imageLocation: 'images/cats/dress.png',
imageCaption: 'dress',
),
Category(
imageLocation: 'images/cats/formal.png',
imageCaption: 'formal',
),
Category(
imageLocation: 'images/cats/shoe.png',
imageCaption: 'shoe',
),
Category(
imageLocation: 'images/cats/informal.png',
imageCaption: 'informal',
),
Category(
imageLocation: 'images/cats/accessories.png',
imageCaption: 'accessory',
),
],
),
);
}
}
class Category extends StatelessWidget {
final String imageLocation;
final String imageCaption;
Category({
this.imageLocation,
this.imageCaption
});
@override
Widget build(BuildContext context) {
return Padding(padding: const EdgeInsets.all(2.0),
child: InkWell(
onTap: (){},
child: Container(
width: 100.0,
child: new ListTile(
title: Image.asset(
imageLocation,
width: 100.0,
height: 80.0
),
subtitle: Container(
alignment: Alignment.topCenter,
child: Text(imageCaption, style: new TextStyle(fontSize: 12.0),)
),
),
),
),
);
}
}