【问题标题】: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(),
        ],
      ),
    );
    

    【讨论】:

    • 谢谢,这就是我要找的。​​span>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-20
    • 2015-05-18
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 2013-05-05
    相关资源
    最近更新 更多