anchor.diff:        final double fadeStart = (appBarHeight - toolBarHeight) / appBarHeight;
         final double fadeEnd = (appBarHeight - toolBarHeight / 2.0) / appBarHeight;
         final CurvedAnimation opacityCurve = new CurvedAnimation(
  -        parent: animation,
  +        parent: _scaffoldAnimation,
           curve: new Interval(fadeStart, fadeEnd)
         );
         TextStyle titleStyle = Theme.of(context).primaryTextTheme.title;
  
positive.code:       final double fadeStart = (appBarHeight - toolBarHeight * 2.0) / appBarHeight;
        final double fadeEnd = (appBarHeight - toolBarHeight) / appBarHeight;
        final CurvedAnimation opacityCurve = new CurvedAnimation(
          parent: animation,
          curve: new Interval(math.max(0.0, fadeStart), math.min(fadeEnd, 1.0))
        );
        final double parallax = new Tween<double>(begin: 0.0, end: appBarHeight / 4.0).evaluate(animation);
        children.add(new Positioned(
          top: -parallax,
          left: 0.0,
  
negative.code: }
  
  class _FlexibleSpaceBarState extends State<FlexibleSpaceBar> {
    Animation<double> _scaffoldAnimation;
  
    void _handleTick() {
      setState(() {
        // The animation's state is our build state, and it changed already.
      });
    }
  
    @override
    void deactivate() {
      _scaffoldAnimation?.removeListener(_handleTick);
      _scaffoldAnimation = null;
    }
  
    @override
    Widget build(BuildContext context) {
      assert(debugCheckHasScaffold(context));
      final double statusBarHeight = MediaQuery.of(context).padding.top;
      final ScaffoldState scaffold = Scaffold.of(context);
      _scaffoldAnimation ??= scaffold.appBarAnimation..addListener(_handleTick);
      final double appBarHeight = scaffold.appBarHeight + statusBarHeight;
      final double toolBarHeight = kToolBarHeight + statusBarHeight;
      final List<Widget> children = <Widget>[];
  
  