如何在列表底部显示按钮?

问题描述 投票:0回答:2

我是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,
    );
  }
} 
ios flutter dart mobile flutter-layout
2个回答
0
投票

如果在shrinkWrap中使用ListView,则应在ListView中将Column(ListView的命名参数)设为true。>


0
投票

我忙着解决,选择了向后箭头而不是页面底部的按钮。

© www.soinside.com 2019 - 2024. All rights reserved.