onPresssed IconButton不会被调用栈里面小部件时溢出Overflow.visible

时间:2019-02-02 05:47:48

标签: dart flutter

我有以下代码

void showShortBioDialog(BuildContext context) {
    showDialog(
        context: context,
        barrierDismissible: false,
        builder: (BuildContext context) {
          return Dialog(
            child: Stack(
              overflow: Overflow.visible,
              children: <Widget>[
                Container(
                  child: Padding(
                    padding: const EdgeInsets.fromLTRB(0, 10, 0, 40),
                    child: Text(
                      "Short Bio",
                      textAlign: TextAlign.center,
                      style: TextStyle(color: white, fontFamily: "BarlowBold"),
                    ),
                  ),
                  color: blue2,
                  width: double.infinity,
                ),
                Positioned(
                  top: 30,
                  right: -5,
                  left: -5,
                  child: Card(
                    shape: RoundedRectangleBorder(
                      borderRadius: BorderRadius.circular(5),
                    ),
                    elevation: 0,
                    child: Container(
                      height: 180,
                      child: Padding(
                        padding: const EdgeInsets.symmetric(horizontal: 10),
                        child: TextField(),
                      ),
                    ),
                  ),
                ),
                Positioned(
                  bottom: -170,
                  right: 0,
                  left: 0,
                  child: IconButton(
                    onPressed: () {
                      print("hi");
                    },
                    iconSize: 35,
                    icon: Image.asset(
                      "images/next_signup.webp",
                      fit: BoxFit.fill,
                      height: 35,
                      width: 35,
                    ),
                  ),
                )
              ],
            ),
          );
        });
  }

在对话框看起来正确,因为我想和对话被触发画面出现时。但从未调用iconbutton's onPressed 我试图用更换图标按钮InkWellRaisedButtonFlatButton等,但在onPressed不会被调用该按钮。 图标按钮的位置也是堆栈中的最后一个,但是我仍然困惑为什么不单击它的单击。

我想要的输出类似的后续

https://drive.google.com/file/d/1K12-Dw4xRzHNd9N1gM02TcHd6TdK319Y/view?usp=sharing

1 个答案:

答案 0 :(得分:0)

我认为是因为溢出。如果您评论overflow: Overflow.visible,那么您将完全看不到该图像。尝试使对话框足够大,以使图像位于顶部而不会溢出。