Flutter - hide/show 两个横幅通过点击屏幕

Flutter - hide/show two banners by tapping n screen

我使用 flutter 的时间很短。我想创建一个动作,但我不知道该怎么做。我希望能找到一些帮助。我想创建一个动作:当我在屏幕上点击一次时,这个动作会出现两个横幅。一个在屏幕顶部,另一个在屏幕底部,当我再次点击屏幕时,横幅消失了(你可以在图片上看到我的意思)。

你知道怎么做吗?

PS: 抱歉我的英语不好。

您可以使用 GestureDetector,使您能够识别屏幕上的手势。在这种情况下,您可以将所有页面包裹在 GestureDetector 上以识别 onTap 手势,然后创建一个变量 isTaped,每次用户点击屏幕时该变量都会改变,现在有了这个变量,您可以使用它来出现和绝望酒吧。

一些可以帮助你的笔记。您可以使用 Stack Widget to overlay the page and the bars. To finish you can use the AnimatedOpacity 在出现和消失时淡化条形。

添加一个全局变量eg-

bool _isVisible = true,

然后

包裹您想要隐藏或显示在“可见性”小部件中的任何小部件,


Visibility(
//replace container with your desired widget
  child: Container(),
  visible: _isVisible, 
),

之后,

Flutter 有一个很有用的小部件,叫做 GestureDetector。只需将任何其他小部件包装到其中,在您的情况下是整个屏幕小部件。

GestureDetector(
  onTap: () {
    setState(() {
_isVisible = !_isvisible;
});
  },
//Replace container with the widget that you using for screen
child: Container()
)

setState() 函数用于根据其所做的更改重置状态。

最后,最重要的是使用StatefulWidget。

这是一个 youtube 视频,可以了解有关 statefulWidget 的更多信息How Stateful Widgets Are Used Best - Flutter Widgets