我想在按下按钮时在屏幕上显示透明的布局。
我尝试过使用Stack,但效果很好,但是当我按下函数内部的按钮时(例如ExercisePage()
),则不会显示叠加层。
当值overlayShouldBeVisible==true
时,叠加层起作用。但是从overlayShouldBeVisible
内部更改ExercisePage()
的值时,按钮按下事件不会显示叠加层。
Stack(
fit: StackFit.passthrough,
children: <Widget>[
ExercisePage(),
overlayShouldBeVisible==true?new CorrectWrongOverlay(isCorrect) : new Container() ,
],
);
我不知道您在ExercisePage()中正在做什么,但是我可以给您一些建议。尝试使用值通知程序以更改变量的值https://api.flutter.dev/flutter/foundation/ValueNotifier-class.html
基于overlayShouldBeVisible值,您可以使用if条件显示是否显示CorrectWrongOverlay,而无需在树中放置其他小部件。