日3 :まだUI/ボトムナビゲーションバー(カスタム)


私は、カスタムボトムのナビゲーションバーを終了する方法で最大の岩を移動すると思う、私は画面の幅と高さの高さを取るコンテナの中のボタンとして底のナビゲーションバーを作ることができるBottomNavigationBar() //kBottomNavigationBarHeight しかし、私はかなりフラッターに新しいし、学ぶために多くのものがあるため、私はウィジェット(そしておそらくフラッタパッケージ)を作成し、私は完全に使用しているようにそれを使用してフラッタBottomNavigationBarウィジェットまたは外部パッケージを内蔵.
最終的な結果はフラッターのbottomnavigationbarではありません、しかし、それは全く同じことをします、唯一の違いはコード実装とイベントが扱われる方法です.私が言及するのを忘れる前に、私はCustomButton ウィジェット

おかしいことはCustomBottomNavigationBar クリックと相互作用しません、それは基本的にAですcontainer with CustomButton ウィジェット、どのようなクリックとの対話はCustomButton それ自体、そうですCustomBottomNavigationBar(childeren: _items) 各項目は独自のonPressed() そしてそれがVoidCallback それは通常のようにどんなargsも返しませんBottomNavigatoinBar the onPressed(index) => ... 現在の海底ナビゲーションバーのインデックスを示す整数値を返しますBottomNavigatoinBar , このようにしてインデックスを取得できました.
onPressed: () {
          setState(() {
            _currentIndex = 1; // setting the index manually
          // setting the buttons bool values to appear as one 
         // button is pushed down at a time

            tapStatus[_currentIndex] = true; // the clicked button

            tapStatus[0] = false; 
            tapStatus[2] = false;
            _screenController.jumpToPage(_currentIndex);
          });
        },
私は、作ることにより多くの時間を浪費したくなかったCustomBottomNavigationBar Clickイベントを受信すると、変更を適用します
check out my custom bottom navigation bar