如何显示int值



价格的Int值不会显示在ProgrammesCard中的应用程序上。解决这个问题的最佳方法是什么?

import 'package:flutter/material.dart';
import '../constants.dart';
class ProgrammesCard extends StatelessWidget {
List<_ProgrammesCard> _programmes() {
return [
_ProgrammesCard(
title: 'PROGRAMMES',
price: 'FROM £30',
period: '6-WEEK nPROGRAMME',
imageURL: 'assets/images/programmes/kane.png',
),
_ProgrammesCard(
title: 'INDIVIDUAL ZOOM',
price: 'FROM £15 nPER PLAYER',
period: 'EACH SESSION',
imageURL: 'assets/images/programmes/traore.jpeg',
),
_ProgrammesCard(
title: 'GROUP ZOOM',
price: 'FROM £5 nPER PLAYER',
period: 'EACH SESSION',
imageURL: 'assets/images/programmes/wolves.png',
),
_ProgrammesCard(
title: 'PRIMAL FLOW',
price: 'FROM £5 nPER PLAYER',
period: 'EACH SESSION',
imageURL: 'assets/images/programmes/podence.jpeg',
),
];
}
@override
Widget build(BuildContext context) {
return InkWell(
onTap: () {},
child: Container(
height: 270,
width: double.infinity,
child: ListView(
scrollDirection: Axis.horizontal,
padding: EdgeInsets.fromLTRB(12, 5, 5, 5),
children: _programmes().map<Widget>((photo) {
return _ProgrammesGridItem(programmesCard: photo);
}).toList(),
),
),
);
}
}
class _ProgrammesCard {
_ProgrammesCard({
this.imageURL,
this.title,
this.price,
this.period,
});
final String imageURL;
final String title;
final String price;
final String period;
}
class _ProgrammesText extends StatelessWidget {
const _ProgrammesText(this.text, this.fontSize);
final String text;
final double fontSize;
@override
Widget build(BuildContext context) {
return Text(
text,
style: TextStyle(
fontFamily: 'Cocogoose',
fontSize: fontSize,
color: kProgrammeTextColor),
);
}
}
class _ProgrammesGridItem extends StatelessWidget {
_ProgrammesGridItem({Key key, @required this.programmesCard})
: super(key: key);
final _ProgrammesCard programmesCard;
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
),
child: Card(
semanticContainer: true,
clipBehavior: Clip.antiAliasWithSaveLayer,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20.0)),
margin: EdgeInsets.only(left: 10, right: 10, bottom: 10),
child: Container(
decoration: BoxDecoration(
color: kClub2Color,
),
child: Row(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.only(left: 4),
child: RotatedBox(
quarterTurns: 3,
child: _ProgrammesText(programmesCard.title, 14),
),
),
SizedBox(
height: 10,
width: 10,
),
Row(
children: [
Container(
height: 40,
child: VerticalDivider(
color: kProgrammeTextColor,
thickness: 1,
),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
_ProgrammesText(programmesCard.price, 10),
],
),
_ProgrammesText(programmesCard.period, 8),
],
),
),
],
),
],
),
Stack(
children: <Widget>[
Image.asset(
programmesCard.imageURL,
width: 200,
height: 250,
fit: BoxFit.cover,
),
],
),
],
),
),
),
),
],
);
}
}

在此处输入图像描述

您的代码看起来不错
我很确定您的问题与您使用的自定义字体Cocogoose有关
仔细检查是否正确集成了包含字体编号的*.ttf文件,您应该没事!

最新更新