0

我在一个用 GestureDetector 包裹的黑色大容器中放置了一张卡片。
现在我想将中间的那个小卡片设置为不可点击,也就是说唯一可点击的部分是黑色的容器。

在此处输入图像描述

这是我的代码:

  Widget LogOutCard () {
    return GestureDetector(
      onTap: () { setState(() { isCardVisible = !isCardVisible; }); },
      child: Container(
        color: Color(0xcf000000),
        child: Center(
          child: Container(
            width: 500.0,
            height: 150.0,
            child: Card(
              child: Column(
                children: [
                  ListTile(
                    leading: Icon(Icons.logout),
                    title: Text('log_out'.tr()),
                    subtitle: Text('Are_you_sure_to_log_out'),
                  ),
                  ButtonBar(
                    children: [
                      TextButton(
                        onPressed: () {},
                        child: Text('_cancel_'),
                      ),
                      ElevatedButton(
                        onPressed: () {},
                        child: Text('_log_out_'),
       )],)],),),),),),);
  }
4

1 回答 1

1

您可以尝试使用IgnorePointer使其成为孩子忽略触摸手势。不确定这是否适用于您的所有要求,因为它可能还会使这些按钮无法点击。

对于这样的弹出窗口,我建议使用showDialog方法并将 barrierDismissible 设置为 true。

于 2021-09-25T15:52:08.400 回答