AnimatedCrossFade с Fade Out, затем Fade In - PullRequest
0 голосов
/ 25 июня 2019

AnimatedCrossFade - один из моих любимых виджетов, использующих Flutter, он скользкий и очень удобный.

Я понимаю, что это противоречит тому, для чего предполагается использовать виджет, но мне было интересно, есть ли способ настроить его так, чтобы он не перекрывался между его детьми, а вместо этого затухал один из них и ТО исчезает в другом.

Если это невозможно сделать с помощью этого виджета, что будет лучшим способом сделать это?

1 Ответ

0 голосов
/ 26 июня 2019

Нашел решение, которое я искал.

"Что-то вроде этого прекрасно работает:

class LinearHalfCurve extends Curve {
   @override
   double transformInternal(double t) {
      if(t < 0.5) {
        return t*2; // goes from 0-1.0 when t is 0-0.5
      }
      return 1.0; // cap to 1.0 when t is above 0.5
    }
}

тогда в вашем наборе AnimatedCrossFade:

    firstCurve: LinearHalfCurve(),
    secondCurve: LinearHalfCurve().flipped,

Если выесли вам нужно больше причудливых кривых, вы можете сохранить внутреннюю кривую этого типа в своем пользовательском классе кривых и передать t * 2 в этот класс в первом возвращении. "

...