我正在编写一个应用程序,我希望在我的应用程序栏中有谷歌地图,可以通过向下滚动应用程序栏来降低它。
我们已经尝试了很多东西并留在 SliverAppBar 上。首先,我们尝试使用图像。问题是滑块区域在整个屏幕上,我们希望它只在 AppBar 上!
这是我们的代码:
Widget build(BuildContext context) {
return Scaffold(
body:
NestedScrollView(
headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
return <Widget>[AppBarHomePage()];
},
body: Text("Test"),
));
}
}
class AppBarHomePage extends StatefulWidget {
const AppBarHomePage({super.key});
@override
State<AppBarHomePage> createState() => _AppBarHomePageState();
}
class _AppBarHomePageState extends State<AppBarHomePage> {
@override
Widget build(BuildContext context) {
return SliverAppBar(
expandedHeight: MediaQuery.of(context).size.height,
floating: true,
pinned: true,
snap: true,
actionsIconTheme: IconThemeData(opacity: 0.0),
flexibleSpace: Stack(
children: <Widget>[
GoogleMapWidget()
],
),
);
}
}
此解决方案将帮助您解决扩展应用栏 https://flutterawesome.com/custom-flutter-sliverappbar-behavior/