首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >颤振-如何在系统导航栏上定位开关条

颤振-如何在系统导航栏上定位开关条
EN

Stack Overflow用户
提问于 2022-04-21 13:22:02
回答 4查看 1.2K关注 0票数 4

我的应用程序中有一个透明的系统导航栏。

应用程序使用Getx快餐店来传递错误和成功信息。我所坚持的是,每当应用程序抛出一个快餐店时,小吃店就会出现,并通过透明的导航栏消失(我可以看到小吃店通过导航栏移动)。有什么办法让小吃店出现在导航栏上方吗?我如何定位小吃店以上的系统导航吧?

EN

回答 4

Stack Overflow用户

发布于 2022-04-21 13:36:32

您可能需要查看SnackBarBehavior枚举,它允许一个人改变位置。如果您正在使用第三方库,那么您可能需要尝试将该行为放入扩展方法中。在这个所以问题上存在其他的想法,它们可能应用于您的用例,尽管不是一个精确的副本。

SnackbarBehavior枚举声明:

定义SnackBar应该出现在Scaffold中的位置,以及当脚手架还包括FloatingActionButton或BottomNavigationBar时应该如何调整它的位置。

其他的想法包括使用一个位置小部件和一个Stack小部件来获得精确的控制。添加一个MediaQuery或其他小数小部件,以允许多个屏幕大小。

票数 0
EN

Stack Overflow用户

发布于 2022-04-21 14:28:52

我建议您使用由颤振团队开发的snackbar Widget,而不是使用Getx。它基本上出现在上面的导航栏这里是一个基本的例子;

代码语言:javascript
代码运行次数:0
运行
复制
Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('BottomNavigationBar Sample'),
      ),
      body: Center(
        child: ElevatedButton(
      child: const Text('Show Snackbar'),
      onPressed: () {
          ScaffoldMessenger.of(context).showSnackBar(
            SnackBar(
              content: const Text('Awesome Snackbar!'),
              action: SnackBarAction(
                label: 'Action',
                onPressed: () {
                  // Code to execute.
                },
              ),
            ),
          );
        },
      ),
      ),
      bottomNavigationBar: BottomNavigationBar(
        items: const <BottomNavigationBarItem>[
          BottomNavigationBarItem(
            icon: Icon(Icons.home),
            label: 'Home',
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.business),
            label: 'Business',
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.school),
            label: 'School',
          ),
        ],
        currentIndex: _selectedIndex,
        selectedItemColor: Colors.amber[800],
        onTap: _onItemTapped,
      ),
    );
  }
票数 0
EN

Stack Overflow用户

发布于 2022-04-22 05:25:44

代码语言:javascript
代码运行次数:0
运行
复制
  static GetSnackBar SuccessSnackBar({String title = 'Success', String message}) {
    Get.log("[$title] $message");
    return GetSnackBar(
      titleText: Text(title.tr, style: Get.textTheme.headline6.merge(TextStyle(color: Get.theme.primaryColor))),
      messageText: Text(message, style: Get.textTheme.caption.merge(TextStyle(color: Get.theme.primaryColor))),
      snackPosition: SnackPosition.BOTTOM,
      margin: EdgeInsets.all(20),
      backgroundColor: Colors.green,
      icon: Icon(Icons.check_circle_outline, size: 32, color: Get.theme.primaryColor),
      padding: EdgeInsets.symmetric(horizontal: 20, vertical: 18),
      borderRadius: 8,
      dismissDirection: DismissDirection.horizontal,
      duration: Duration(seconds: 5),
    );
  }

像这样在我的应用程序中使用。工作得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71955237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档