【问题标题】:How to animate the color of AppBar on scroll?如何在滚动时为 AppBar 的颜色设置动画?
【发布时间】:2021-08-10 03:54:42
【问题描述】:
当我滚动浏览CustomScrollView 时,如何为SliverAppBar 的颜色设置动画?
Scaffold(
body: CustomScrollView(
controller: _scrollController,
slivers: [
SliverAppBar(...),
buildBody(),
],
),
);
【问题讨论】:
标签:
flutter
dart
scroll
flutter-sliver
sliverappbar
【解决方案1】:
试试下面的代码:
ScrollController _scrollController;
Color _appColor = Colors.black;
@override
void initState() {
super.initState();
_scrollController= ScrollController()..addListener(() {
if(_scrollController.position.pixels == 0){
_appColor = Colors.black;
setState(() {});
}
else if(_scrollController.position.pixels == 100){
_appColor = Colors.red;
setState(() {});
}
});
}
Scaffold(
body: CustomScrollView(
controller: _scrollController,
slivers: [
//put _appColor to appbar backgroundColor
SliverAppBar(),
buildBody(),
],
),
);