我的应用程序中有一个透明的系统导航栏。
应用程序使用Getx快餐店来传递错误和成功信息。我所坚持的是,每当应用程序抛出一个快餐店时,小吃店就会出现,并通过透明的导航栏消失(我可以看到小吃店通过导航栏移动)。有什么办法让小吃店出现在导航栏上方吗?我如何定位小吃店以上的系统导航吧?
发布于 2022-04-21 05:36:32
您可能需要查看SnackBarBehavior枚举,它允许一个人改变位置。如果您正在使用第三方库,那么您可能需要尝试将该行为放入扩展方法中。在这个所以问题上存在其他的想法,它们可能应用于您的用例,尽管不是一个精确的副本。
SnackbarBehavior枚举声明:
定义SnackBar应该出现在Scaffold中的位置,以及当脚手架还包括FloatingActionButton或BottomNavigationBar时应该如何调整它的位置。
其他的想法包括使用一个位置小部件和一个Stack小部件来获得精确的控制。添加一个MediaQuery或其他小数小部件,以允许多个屏幕大小。
发布于 2022-04-21 06:28:52
我建议您使用由颤振团队开发的snackbar Widget,而不是使用Getx。它基本上出现在上面的导航栏这里是一个基本的例子;
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,
),
);
}
发布于 2022-04-21 21:25:44
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),
);
}
像这样在我的应用程序中使用。工作得很好。
https://stackoverflow.com/questions/71955237
复制相似问题