Анимация виджета контейнера, чтобы покинуть экран слева - PullRequest
0 голосов
/ 17 марта 2020

Интересно, как анимировать контейнерный виджет, чтобы оставить экран слева.

Как мне это сделать?

Спасибо!

1 Ответ

1 голос
/ 17 марта 2020

Это способ сделать это с помощью SlideTransition

class SlideContainerToTheLeft extends StatefulWidget {
  @override
  _SlideContainerToTheLeftState createState() =>
      _SlideContainerToTheLeftState();
}

class _SlideContainerToTheLeftState extends State<SlideContainerToTheLeft>
    with SingleTickerProviderStateMixin {
  var tween = Tween<Offset>(begin: Offset.zero, end: Offset(-2, 0))
      .chain(CurveTween(curve: Curves.ease));
  AnimationController animationController;

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    animationController =
        AnimationController(vsync: this, duration: Duration(seconds: 2));
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: SlideTransition(
          position: animationController.drive(tween),
          child: Container(
            width: 300,
            height: 400,
            decoration: BoxDecoration(
                borderRadius: BorderRadius.circular(20), color: Colors.blue),
          ),
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          animationController.forward();
        },
      ),
    );
  }
}

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...