Flutter 堆栈中的GestureDetector被前台小部件阻止。HitTestBehavior.Transparent未按预期工作
我正在尝试使用一个堆栈创建一个多层屏幕,它允许用户与前台和后台窗口小部件进行交互 我已经开始了屏幕的基本轮廓,但是即使在使用Flutter 堆栈中的GestureDetector被前台小部件阻止。HitTestBehavior.Transparent未按预期工作,flutter,dart,gesturedetector,Flutter,Dart,Gesturedetector,我正在尝试使用一个堆栈创建一个多层屏幕,它允许用户与前台和后台窗口小部件进行交互 我已经开始了屏幕的基本轮廓,但是即使在使用HitTestBehavior.transparent时,控制台也只在按下半透明的红色容器时打印红色。我希望console在按下红色/紫色容器时打印两个字符串 下面是我使用的代码 @override Widget build(BuildContext context) { final children = <Widget>[ Gest
HitTestBehavior.transparent
时,控制台也只在按下半透明的红色容器时打印红色。我希望console在按下红色/紫色容器时打印两个字符串
下面是我使用的代码
@override
Widget build(BuildContext context) {
final children = <Widget>[
GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () {
debugPrint('blue pressed');
},
child: Container(
height: 500,
width: MediaQuery.of(context).size.width,
color: Colors.blue,
),
),
];
if (exercise.instructions.isNotEmpty) {
children.add(
GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () {
debugPrint('red pressed');
},
child: Container(
height: 400,
width: MediaQuery.of(context).size.width,
color: Colors.red.withAlpha(100),
),
),
);
}
return Stack(
alignment: Alignment.bottomCenter,
children: children,
);
}
@覆盖
小部件构建(构建上下文){
最终子女=[
手势检测器(
行为:HitTestBehavior.transparent,
onTap:(){
调试打印(“蓝色打印”);
},
子:容器(
身高:500,
宽度:MediaQuery.of(context).size.width,
颜色:颜色,蓝色,
),
),
];
如果(练习.说明.isNotEmpty){
children.add(
手势检测器(
行为:HitTestBehavior.transparent,
onTap:(){
debugPrint(‘红色按下’);
},
子:容器(
身高:400,
宽度:MediaQuery.of(context).size.width,
颜色:颜色。红色。带alpha(100),
),
),
);
}
返回堆栈(
对齐:对齐.bottomCenter,
儿童:儿童,,
);
}
下面是生成的屏幕: