フラッタースプラッシュ画面のアニメーションアプリケーションを開きます

インポート 'パッケージ:フラッター/ material.dart' ;
インポート 'パッケージ:flutter_app /ページ/ SplashScreen.dart' ; 



ボイドメイン()=> runApp(MyAppを())。

クラス MyAppには、拡張StatelessWidget { 

  @Override 
  ウィジェットは{(BuildContextコンテキスト)を構築
    返しMaterialApp( タイトル 'フラッターデモ'を
      テーマ:ThemeData(
        primarySwatch:Colors.green、   // 定义主题风格primarySwatch 
      )、
      自宅:、スプラッシュ()
    ); 
  } 

}
インポート 'パッケージ:フラッター/ material.dart' ; 

インポート '../MyHomePage.dart' ; 


クラススプラッシュ画面は延びStatefulWidget { 
  _SplashScreenState createState() => _SplashScreenState(); 
} 

クラス _SplashScreenStateは延び州<スプラッシュ>をSingleTickerProviderStateMixin {と

  AnimationController _controller。
  アニメーション_animation; 

  ボイドinitState(){
     スーパー.initState()。
    _controller = AnimationController(VSYNC:この、時間:時間(ミリ秒:3000 ))。 
    _animation =トゥイーン(開始:0.0、エンド:1.0 ).animate(_controller); 


    / * アニメーションのイベントリスナー、
    それはアニメーションの実行状態を監視することができ、
    我々はアニメーションのみを監視する、完成された
    ページのジャンプアクションの終了が行われた場合。* / 
    _Animation.addStatusListener((ステータス){ 
      IF(ステータス== AnimationStatus.completed){ 
        Navigator.of(コンテキスト).pushAndRemoveUntil(
            MaterialPageRoute(ビルダー:(コンテキスト) => MyHomePage())、 ルート) =>ルート= = NULL ); 
      } 
    }); 
    //は、アニメーション再生
    _controller.forwardを(); 
  } 

  @Override 
  ボイド廃棄を(){
    _controller.dispose(); 
    スーパー.Dispose(); 
  } 


  @Override 
  ウィジェットビルド(BuildContextコンテキストが){ 
    戻り FadeTransitionを(// アニメーション要素の透明度 
      不透明度:_animation、   // アニメーション 
      の子供:Image.network(   // ネットワークグラフィックス 
          'HTTPS :&//timgsa.baidu.com/timg画質&サイズ= 80秒=&b9999_10000 = 1,546,851,657,199&fdd278c2029f7826790191d59279dbbe DI = 0 =&SRC =&HTTP%をimgtype 3A 2F %%% 2Fimg.zcool.cn 2Fcommunity%2F0112cb554438090000019ae93094f1.jpg%401280w_1l_2o_100sh.jpg「。。? 
          スケール: 2.0、   // スケーリング 
          フィット:BoxFit.cover   // フル親コンテナ
      )、
    ); 
  } 
}

おすすめ

転載: www.cnblogs.com/loaderman/p/11350393.html