Flutter 手势检测器没有检测到视频播放器屏幕,因为我把视频播放器是它的孩子

Flutter 手势检测器没有检测到视频播放器屏幕,因为我把视频播放器是它的孩子,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,我有一个视频播放器,我想访问视频播放器屏幕,在onTap功能上添加一些功能,但Gesturedetector没有检测屏幕,但如果我将容器作为其子容器,它会检测容器 GestureDetector( onTap: () { Navigator.push( context, MaterialPageRoute( builder:

我有一个视频播放器,我想访问视频播放器屏幕,在onTap功能上添加一些功能,但Gesturedetector没有检测屏幕,但如果我将容器作为其子容器,它会检测容器

GestureDetector(
              onTap: () {
                Navigator.push(
                  context,
                  MaterialPageRoute(
                    builder: (context) => social(),
                  ),
                );
              },
              child: Container(
                height: 200,
                color: Colors.black,
                margin: EdgeInsets.only(right: 200),
                child: Chewie(
                  controller: _chewieController,
                ),
              ),
            ),
如果我把这个代码是这样一种方式,它不访问丘伊小部件

GestureDetector(
              onTap: () {
                Navigator.push(
                  context,
                  MaterialPageRoute(
                    builder: (context) => social(),
                  ),
                );
              },
              child: Chewie(
                  controller: _chewieController,
                ),
            ),

GestureDetector
将只检测在其上发生的点击
child

在第一个示例中,您提供了一个高度为200的
容器,这意味着
200
逻辑像素是您可以接收单击的高度

在第二种情况下,您的小部件
chuwie
可能没有所需的
宽度
高度
不允许
手势检测器
接收点击

解决方案是将以下内容用作
手势检测器的子项

SizedBox.expand(
  child: Chewie(...)
)

GestureDetector
将只检测在其上发生的点击
child

在第一个示例中,您提供了一个高度为200的
容器,这意味着
200
逻辑像素是您可以接收单击的高度

在第二种情况下,您的小部件
chuwie
可能没有所需的
宽度
高度
不允许
手势检测器
接收点击

解决方案是将以下内容用作
手势检测器的子项

SizedBox.expand(
  child: Chewie(...)
)
手势检测器( 行为:HitTestBehavior.不透明

                  onDoubleTap: (){
                    print('lllllllll');
                    setState(() {
                      isShowUser = !isShowUser;
                    });
                  },

                  )
手势检测器( 行为:HitTestBehavior.不透明

                  onDoubleTap: (){
                    print('lllllllll');
                    setState(() {
                      isShowUser = !isShowUser;
                    });
                  },

                  )

不以这种方式工作。不检测视频播放器屏幕也不以这种方式工作。不检测视频播放器屏幕您不必使用onTap,因为它只显示控制器。我知道这很晚了,但希望它能帮助别人。谢谢您不必使用onTap,因为它只显示控制器。我知道这很晚了,但希望它能帮助别人。谢谢