2の下部のナビゲーションバー

コード:

インポート 'パッケージ:フラッター/ material.dart';
インポート 'ページ/ ariplay_screen.dart';
インポート 'ページ/ email_screen.dart';
インポート 'ページ/ home_screen.dart';
インポート 'ページ/ scanner_screen.dart';
クラスBottomNavigationWidgetはStatefulWidgetを{延び
_BottomNavigationWidgetState createState()=> _BottomNavigationWidgetState();
}

クラス_BottomNavigationWidgetStateは{状態<BottomNavigationWidget>を拡張します
最終_bottomNavColor = Colors.blue。
int型_currentIndex = 0;
一覧<ウィジェット>リスト=リスト();
@オーバーライド
ボイドinitState(){
リスト
(ホーム画面())..add
(ScannerScreen())..add
(EmailScreen())..add
..add(AirplayScreen())。
super.initState();
 
}


@オーバーライド
ウィジェットビルド(BuildContextコンテキスト){
リターン足場(
ボディ:リスト[_currentIndex]、
bottomNavigationBar:BottomNavigationBar(
項目:[
BottomNavigationBarItem(
アイコン:アイコン(
Icons.home、
色:_bottomNavColor、
)、
タイトル:テキスト(
「ホーム」、
スタイル:TEXTSTYLE(色:_bottomNavColor)、
)、
BottomNavigationBarItem(
アイコン:アイコン(
Icons.email、
色:_bottomNavColor、
)、
タイトル:テキスト(
'Eメール'、
スタイル:TEXTSTYLE(色:_bottomNavColor)、
)、
BottomNavigationBarItem(
アイコン:アイコン(
Icons.airplay、
色:_bottomNavColor、
)、
タイトル:テキスト(
「エアプレイ」
スタイル:TEXTSTYLE(色:_bottomNavColor)、
)、
BottomNavigationBarItem(
アイコン:アイコン(
Icons.scanner、
色:_bottomNavColor、
)、
タイトル:テキスト(
「Scnner」
スタイル:TEXTSTYLE(色:_bottomNavColor)、
 
]、
currentIndex:_currentIndex、
ONTAP:(INTインデックス){
SETSTATE((){
_currentIndex =指数;
});
}、
)、
);
}
}
 
各偽のページのコード
インポート 'パッケージ:フラッター/ material.dart';
クラスAirplayScreenはStatelessWidgetを{延び

@オーバーライド
ウィジェットビルド(BuildContextコンテキスト){
リターン足場(
アプリケーションバー:アプリケーションバー(タイトル:テキスト( 'エアプレイ')、)、
ボディ:センター(
子供:テキスト( 'エアプレイ')、
)、
);
}
}
要約:
 

以下の下部のナビゲーションバー2

ナビゲーションバーをクリックして変換のレイアウト

ONTAP:(INTインデックス){

SETSTATE (){

_xxxx =指数; /

}

}

//スイッチ状態が強調表示しました

currentIndex:_xxxx

おすすめ

転載: www.cnblogs.com/pp-pping/p/12172985.html