Домашний экран MaterialApp для анимации дротиков - PullRequest
0 голосов
/ 24 августа 2018

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

    MaterialApp{
    home:FutureBuilder<ApiResponse<Profile>>(
     future:api.fetchProfile(),
     builder:(context,snapshot){
       return snapshot.data != null ? AnimatedOpacity(
                    child: FirstScreen(),
                    duration: Duration(milliseconds: 500),
                    opacity: 1.0,
                   ):Container();
      }
    ),
}

Кто-нибудь делал это раньше? Я копал документы для MaterialApp, и я пытался понять это до сих пор не знаю, как это сделать.

1 Ответ

0 голосов
/ 25 августа 2018

Я не уверен, хотите ли вы этого или нет, но вы можете использовать FadeTransition:

enter image description here

void main() => runApp(MaterialApp(
  home:FirstPage(),
));

class FirstPage extends StatefulWidget {
  @override
  _FirstPageState createState() => new _FirstPageState();
}

class _FirstPageState extends State<FirstPage> with TickerProviderStateMixin {
  AnimationController animationController;
  @override
    void initState() {
      animationController=AnimationController(
        vsync:this,
        duration:(Duration(seconds: 2)),
      );
      super.initState();
    }
    @override
      void dispose() {
        animationController.dispose();
        super.dispose();
      }
  @override
  Widget build(BuildContext context) {
     animationController.forward();
    return FadeTransition(
      opacity: animationController,
      child: Scaffold(
        appBar:AppBar(
          backgroundColor: Colors.redAccent,
        ),
        body:Center(child:Text('I am your first page'))
      ),

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