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 }