无法按下具有 Navigator.push 功能的 Flutter Button (GestureDetector)

Flutter Button (GestureDetector) with Navigator.push function cannot be pressed

我正在尝试使用 SizedBox 和 GestureDetector 作为父级将页面导航到注册屏幕。 这是以 Transform.translate 小部件开头的代码:

              offset: Offset(117.0, 455.17),
              child: GestureDetector(
                onTap: () {
                  Navigator.push(
                    context,
                    MaterialPageRoute(builder: (context) => SignUp()),
                  );
                },
                child: SizedBox(
                    width: 150.0,
                      child: Text(
                        'Sign Up',
                        style: GoogleFonts.poppins(
                          fontSize: 26,
                          color: const Color(0xff202020),
                          fontWeight: FontWeight.w600,
                          height: 0.9615384615384616,
                        ),
                        textAlign: TextAlign.center,
                      ),
                ),
              )
          ),

我是 Flutter 的新手,所以如果需要更多代码或信息,请告诉我:)

如评论中所述,这是因为您的转换小部件。但是,查看您的代码,在我看来这不是您想要的小部件(如果我错了请纠正我)。

您似乎想做的是将您的子窗口小部件放置在 Stack 中。您不应该为此使用翻译小部件,而应该使用 AlignPositioned 小部件。小部件在父小部件中的位置,并且由于您的父小部件是一个堆栈,因此您可以将小部件放在彼此之上。

Transform.translate 小部件适用于其他情况,例如动画组件或移动视觉元素(例如,我用它来实现 InteractiveViewer 之前它存在),但是,它应该' 是默认选择并且有额外的复杂性。