0

SliverAppBar当我滚动浏览时,如何为我的颜色设置动画CustomScrollView

Scaffold(
  body: CustomScrollView(
    controller: _scrollController,
    slivers: [
      SliverAppBar(...),
      buildBody(),
    ],
  ),
);
4

1 回答 1

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(),
    ],
  ),
);
于 2021-05-21T06:12:54.387 回答