Home > OS >  Hide/show an item in bottom navigationbar --Flutter
Hide/show an item in bottom navigationbar --Flutter

Time:01-18

Is there a way to hide/ show an bottomnavigationbaritem depending on a condition ? Te visibility widget doesn't seem to work . any suggestions ?

CodePudding user response:

You can do in this way:

var wantShow = true;

void changeState() {
    setState(() {
        wantShow = !wantShow;
    });
}

bottomNavigationBar: BottomNavigationBar(
                elevation: 8.0,
                items: [
                  wantShow ? BottomNavigationBarItem(
                      icon: Padding(
                        padding: EdgeInsets.all(2.0),
                        child: SvgPicture.asset("${IMAGE_PATH}fi-rr-home.svg"),
                      ),
                      activeIcon: Padding(
                        padding: EdgeInsets.all(2.0),
                        child: SvgPicture.asset("${IMAGE_PATH}fi-sr-home.svg"),
                      ) : SizedBox(),
                ],
              ),

CodePudding user response:



var wantShow = true;

void changeState() {
    setState(() {
        wantShow = !wantShow;
    });
}

bottomNavigationBar: BottomNavigationBar(
                elevation: 8.0,
                items: [
                  if(wantShow) BottomNavigationBarItem(
                      icon: Padding(
                        padding: EdgeInsets.all(2.0),
                        child: SvgPicture.asset("${IMAGE_PATH}fi-rr-home.svg"),
                      ),
                      activeIcon: Padding(
                        padding: EdgeInsets.all(2.0),
                        child: SvgPicture.asset("${IMAGE_PATH}fi-sr-home.svg"),
                      ),
                ],
              ),

  •  Tags:  
  • Related