Flutter 如何在flatter中将小部件设置为按钮

Flutter 如何在flatter中将小部件设置为按钮,flutter,sidebar,Flutter,Sidebar,我在堆栈()中设置了两个小部件,后面的一个是侧边栏,前面的一个是我的主页。 当我在主页上单击菜单按钮时,主页会向右移动,然后用户可以看到侧边栏 现在的问题是,当侧边栏显示时,我必须准确单击菜单按钮返回主页。 我只想单击主页中的任意位置以隐藏侧边栏。 我的意思是,当侧边栏显示时,我想将整个主页设置为一个按钮。您可以使用 您也可以使用 您也可以使用我通过使用InkWell()包装主页修复了它,并将其添加到了onTap属性“ 请注意,isSidebarCollapsed是确定是否显示菜单的变量 代码

我在堆栈()中设置了两个小部件,后面的一个是侧边栏,前面的一个是我的主页。
当我在主页上单击菜单按钮时,主页会向右移动,然后用户可以看到侧边栏

现在的问题是,当侧边栏显示时,我必须准确单击菜单按钮返回主页。
我只想单击主页中的任意位置以隐藏侧边栏。
我的意思是,当侧边栏显示时,我想将整个主页设置为一个按钮。

您可以使用

您也可以使用


您也可以使用

我通过使用InkWell()包装主页修复了它,并将其添加到了onTap属性“

请注意,isSidebarCollapsed是确定是否显示菜单的变量

代码说明:
如果侧栏已折叠(显示),则onTap属性将返回一个函数,其中我将变量ISISDEBARCOLLAPSED设置为false(表示侧栏将被隐藏)。

否则它将返回null

我通过使用InkWell()包装主页来修复它,并将其添加到onTap属性”

请注意,isSidebarCollapsed是确定是否显示菜单的变量

代码说明:
如果侧栏已折叠(显示),则onTap属性将返回一个函数,其中我将变量ISISDEBARCOLLAPSED设置为false(表示侧栏将被隐藏)。

否则它返回null

如果你想让任何东西都可以点击,你可以用GestureDetector包装小部件一般来说如果你想让任何东西都可以点击,你可以用GestureDetector包装小部件。别忘了主页也有自己的按钮,所以如果我照你说的做,我将无法点击它的其他按钮,这意味着我将只有一个大的页面。如果我错了,请告诉我,您也可以单击其他按钮。请试试这个,如果我能帮上什么忙,请告诉我。谢谢你的关注,请阅读下面的答案。别忘了主页也有自己的按钮,所以如果我照你说的做,我将无法点击其他按钮,这意味着我只有一个有一个大按钮的页面。如果我错了,请告诉我,您也可以单击其他按钮。请尝试这个,让我知道如果我可以帮助什么。谢谢你的关注,请阅读下面的答案
     InkWell(
        onTap: (){
         /// do something
        },
        child: Text('data')  /// your widget,
      ),
      InkWell(
        onTap: isSidebarCollapsed ? () {
          setState(() {
            isSidebarCollapsed = false;
          });
        } : null,
        child: Container(...)
      )