flutter - 透明重叠应用栏
问题描述
我正在尝试找到一种方法来拥有一个与页面内容重叠的透明应用栏。我知道我可以使用 SliverAppBar 最初显示 appbar,然后在滚动时让它滑出视图,这很好。我什至可以给它一个透明的背景颜色。但是,当您滚动到页面顶部时,它总是为栏腾出空间位于页面内容上方。
我想要的是页面内容与页面顶部齐平,就好像没有应用栏一样,然后像 SliverAppBar 一样让透明的应用栏滑入视图,这样我就只有一些操作按钮与顶部重叠的页面。
我怎样才能做到这一点?有没有办法堆叠 appbar 或更改边距以便不占用空间?
解决方案
您可以将脚手架和您的“页面”放在 a 中stack()
,确保脚手架是堆栈中的最后一项。您可以自己为应用栏添加动画,甚至可以使用 sliver 应用栏,只要确保为应用栏和内容使用相同的滚动控制器即可。
例如:
@override
Widget build(BuildContext context) {
return Stack(
children: <Widget>[
// Your content
Container(
color: Colors.pink,
),
Scaffold(
appBar: AppBar(
title: Text("heading"),
bottom: AppBar(
title: Text("footer"),
),
),
),
],
);
}
推荐阅读
- excel - 如果我使用意大利语版本,是否可以为 Excel 函数\公式使用英文名称?
- python - 在python中为数据框的滚动数据找到不小于x的最小数字
- flutter - 每次从 Android 设备上的摄像头捕获图像时,Flutter 应用都会重新启动
- bash - 在带有变量的 bash 脚本中使用 rsync
- json - Spring 向 JS 客户端返回乱码
- python - Python,django:我不知道如何将我所做的简单基本功能与用户输入的值联系起来
- python - Python将A系列数据分组以构建箱线图
- azure - 如何创建具有较小存储空间的 Azure VM
- javascript - nodeJS - 通过 CLI 与后台运行的电子应用程序通信
- python - 无法从类内的函数中获取变量(python)