【发布时间】:2021-02-09 22:02:39
【问题描述】:
我正在尝试在我的卡片小部件中显示第一个索引项,但我不确定为什么它没有显示,所以如果我能得到任何帮助或建议,我将不胜感激。
我能够从第二个 TileItem 获得它,但我不确定为什么它没有显示第一个 TileItem。
我尝试更改 listbuilderwidget 中的条件,但仍然无法修复它。
Widget listbuilderwidget(Item app, int index, BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
SizedBox(width: index == 0 ? 0 : 10),
verticalBarSeparator(app.tileItem[index == 0 ? 1 : index].middleText),
index == 0
? infoWidget(app.figures, app.tileItem[index],
app.tileItem[1].middleText, context)
: tileWidget(app.tileItem[index], context),
],
);
}
Widget infoWidget(
Figures figures, TileItem item, String text, BuildContext context) {
return Container(
child: Padding(
padding: EdgeInsets.fromLTRB(10, 5, 10, 0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
figures.title,
overflow: TextOverflow.ellipsis,
style: Theme.of(context).textTheme.h9,
),
SizedBox(height: 5),
Text(
figures.subtitle,
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontSize: 13,
color: Theme.of(context).secondaryHeaderColor,
),
),
Icon(
int.parse(text) < 0 ? Icons.trending_down : Icons.trending_up,
color: int.parse(text) < 0 ? Colors.red : Colors.green,
size: 26,
)
],
),
),
);
}
Widget tileWidget(TileItem item, BuildContext context) {
return Padding(
padding: EdgeInsets.fromLTRB(10, 5, 10, 0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
width: item.topText.characters.length <= 6 ? 65 : null,
child: Text(
item.topText,
overflow: TextOverflow.ellipsis,
style: Theme.of(context).textTheme.h9,
),
),
SizedBox(height: 5),
Text(
item.middleText,
style: TextStyle(
fontSize: 13, color: Theme.of(context).secondaryHeaderColor),
),
Container(
padding: EdgeInsets.all(0),
child: Icon(
int.parse(item.middleText) < 0
? Icons.trending_down
: Icons.trending_up,
color: int.parse(item.middleText) < 0 ? Colors.red : Colors.green,
size: 26,
),
)
],
),
);
}
【问题讨论】:
-
你为什么要这样做?指数 == 0 ? infoWidget(app.figures, app.tileItem[index], app.tileItem[1].middleText, context) : tileWidget(app.tileItem[index], context), .... index 0 应该给你的第一项一个列表
-
嗨,我很困惑。那我该怎么办?
-
好吧,我写了一个答案,但我不确定这是否会有所帮助,但也许,如果它不起作用,请告诉我
标签: flutter dart flutter-layout flutter-dependencies flutter-animation