フラッター - iOSのナビゲーションバーのTabBar

  1つの インポート'パッケージ:フラッター/ cupertino.dart';
  2  インポート'パッケージ:フラッター/ material.dart';
  3  
  4  ボイドメイン(){
   5    runApp(新規のMyApp())。
  6  }
   7  
  8  クラスのMyAppはStatelessWidget {延び
   9    @Override
 10    ウィジェットビルド(BuildContextコンテキスト){
 11      ビルド実装:// TODO
 12      リターン新しいMaterialApp(
 13        タイトル: '练习タブバー'、
 14        テーマ:ThemeData.light()、
 15        ホーム:マイページ()、
 16      );
17    }
 18  }
19  
20  クラスマイページがStatefulWidgetを拡張{
 21    @Override
 22    _MyPageState createState()=> _MyPageState();
23  }
 24  
25  
26 _MyPageState状態延びクラス< マイページ> {
 27    @Override
 28    ウィジェットビルド(BuildContextコンテキスト){
 29      // TODO:ビルド実現
 30      リターンCupertinoTabScaffold(
 31        CupertinoTabBar(:タブバー
 32          のbackgroundColor:CupertinoColors.extraLightBackgroundGray、
 33の         項目を: [
 34           BottomNavigationBarItem(
 35              アイコン:アイコン(CupertinoIcons.home)、
 36              タイトル:テキスト( '主页')、
 37            )、
 38            BottomNavigationBarItem(
 39              アイコン:アイコン(CupertinoIcons.conversation_bubble)、
 40              タイトル:テキスト( '聊天')、
 41            ) 、
 42            BottomNavigationBarItem(
 43              アイコン:アイコン(CupertinoIcons.conversation_bubble)、
 44              タイトル:テキスト( 'ZLJ')、
 45  46          ]、
 47        )、
 48       tabBuilder:(コンテキスト、インデックス){
 49          リターンCupertinoTabView(
 50            ビルダー:(コンテキスト){
 51              スイッチ(インデックス){
 52                ケース0:
 53                  リターンホームページ();
 54                  ブレーク;
 55                ケース1:
 56                  リターンChatPage();
 57                  ブレーク;
 58                ケース2:
 59                  リターンホームページ();
 60                  ブレーク;
 61                デフォルト:
 62                  リターンコンテナ()。
63              }
 64  
65            }
 66          )。
67        }、
 68      );
69  
70    }
 71  }
 72の 
73  
74  クラスホームページStatelessWidget {延び
 75    @Override
 76    ウィジェットビルド(BuildContextコンテキスト){
 77      ビルド実装:// TODO
 78      (リターンCupertinoPageScaffoldを
 79        CupertinoNavigationBar(:navigationBar
 80          、テキスト( '主页'):中間
 81        )、
 82        子:センター(
83          子:テキスト(
 84            '主页'、
 85            スタイル:Theme.of(文脈).textTheme.button、
 86          )、
 87        )、
 88      );
89    }
 90  }
 91の 
92  
93  クラスChatPageはStatelessWidget {延び
 94    @Override
 95    ウィジェットビルド(BuildContextコンテキスト){
 96      を実装ビルド:// TODO
 97      リターンCupertinoPageScaffold(
 98        navigationBar:CupertinoNavigationBar(
 99          、テキスト( "聊天面板"):中央を
 100         末尾:アイコン(CupertinoIcons.add)、
 101          リーディング:アイコン(CupertinoIcons.back)、
 102        )、
 103        子供:センター(
 104          子:テキスト(
 105            '聊天面板'、
 106            スタイル:Theme.of(コンテキスト).textTheme。ボタン、
 107          )、
 108        )、
 109      )。
110    }
 111 }

 

おすすめ

転載: www.cnblogs.com/tom2015010203/p/11934440.html