ListTile上onTap的警报对话框

时间:2020-04-12 22:27:16

标签: flutter flutter-layout

如何通过单击/点击ListTile创建AlertDialog。 目前,我正在执行此操作,但是单击它时什么也没发生。

body: ListView(
        children: <Widget>[
          ListTile(
            title: Text('Theme'),
            onTap: (){
              AlertDialog(
                title: Text('Hi'),
              );
            },
          )
        ],
      ),

PS:我是菜鸟,请放心。

2 个答案:

答案 0 :(得分:1)

您非常接近,您创建了对话框,只需要显示它即可:

body: ListView(
        children: <Widget>[
          ListTile(
            title: Text('Theme'),
            onTap: () {
              AlertDialog alert = AlertDialog(
                title: Text('Hi'),
              );
              showDialog(
                context: context,
                builder: (BuildContext context) {
                  return alert;
                },
              );
            },
          )
        ],
      ),

答案 1 :(得分:1)

以此更改您的ListTile

ListTile(
  title: Text('Theme'),
  onTap: () {
    showDialog(
        context: context,
        builder: (context) {
          return AlertDialog(
            title: Text('Alert Dialog Example'),
            content: Text('Alert Dialog Body Goes Here  ..'),
            actions: <Widget>[
              FlatButton(
                  onPressed: () => Navigator.of(context).pop(),
                  child: Text('OK')),
            ],
          );
        });
  },
)

我还添加了一些属性来使用AlertDialog(),例如标题内容动作