我是Flutter的新朋友。您的建议将不胜感激!
我正在尝试在列表视图之后在屏幕底部显示一个按钮。
输入此代码...我可以完美显示我的列表视图。请注意,该代码中尚无按钮。
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: getTarotCards(),
),
);
}
现在,当我尝试添加我创建的自定义窗口小部件的底部按钮时,我添加了一个列和一个子窗口小部件,因此我可以列出需要显示的项目。
[我知道问题是getTarotCards()是一种返回Listview的方法,所以这就是为什么我不能将其放置在这里的原因(因为我正在调用一个函数而不是一个小部件。)
有人知道我如何调用我的方法来显示列表视图,然后在其下方显示我的按钮吗?
现在,当我运行此卡时,我的屏幕为空白,而我看到的只是黑色支架。
非常感谢您的帮助! :)
ListView getTarotCards() {
final children = <Widget>[];
final tarotDeck = tarotMaster.tarotDeck;
for (var i = 0; i < tarotDeck.length; i++) {
final cardName = tarotDeck[i].cardTitle.toUpperCase();
final cardImage = tarotDeck[i].cardArt;
final cardBlurb = tarotDeck[i].cardExcerpt;
final tarotTile = ListTile(
onTap: () {
print('card $cardName');
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => TarotPage(tarotCard: tarotDeck[i]),
),
);
},
leading: cardImage,
title: Text(
cardName,
style: TextStyle(color: Colors.black, fontFamily: 'DM Serif Text'),
),
subtitle: Text(
cardBlurb,
style: TextStyle(
color: Colors.black,
fontSize: 12.0,
fontWeight: FontWeight.normal,
),
),
);
children.add(Card(child: tarotTile));
}
return ListView(
shrinkWrap: true,
children: children,
);
}
}
如果在shrinkWrap
中使用ListView
,则应在ListView
中将Column
(ListView的命名参数)设为true。>
我忙着解决,选择了向后箭头而不是页面底部的按钮。