2 years ago

#2156

test-img

Ashwani Bhardwaj

How to Route to a specific page in bottom navigation bar?

I have 4 pages in bottom navigation bar. I am facing a problem related to route that i want to route to a specific page in bottom navigation bar from another page? e.g I am going to login page and post successful login I want to route user to accountdetails(AccountSetting) but if I am selecting account setting then in that page bottom navigation bar is not showing and if I am routing to bottom nav bar here I am unable to select index of my choice. How can I select index of my choice because I don't want to make new page having bottom nav bar?

class BottomNavBar extends StatefulWidget {
  static String routeName = "/bottombar";

  @override
  _BottomNavBarState createState() => _BottomNavBarState();
}

class _BottomNavBarState extends State<BottomNavBar> {
  CartCountController cartCountController = CartCountController();
  DoublePressBackBotton doublePressBackBotton = DoublePressBackBotton();

  int _selectedIndex = 0;
  @override
  void initState() {
    Future.delayed(Duration(milliseconds: 1000)).then((value) {
      cartCountController.cartItemCount();
    });
    super.initState();
  }

  @override
  void dispose() {
    Future.delayed(Duration(milliseconds: 1000)).then((value) {
      cartCountController.cartItemCount();
    });
    super.dispose();
  }

  List _widgetOptions = [
    HomeScreen(),
    CategoryList(),
    InviteFriend(),
    AccountSetting(),
  ];

  void _onItemTapped(
    int index,
  ) {
    setState(() {
      _selectedIndex = index;
    });
  }

  @override
  Widget build(BuildContext context) {
    return
       
 
      // drawer: SideDrawer(),
      body: WillPopScope(
        child: _widgetOptions.elementAt(_selectedIndex),
        onWillPop: () {
          return doublePressBackBotton.doubleBack();
        },
      ),
      bottomNavigationBar: BottomNavigationBar(
        // backgroundColor: Color(0xff202020),
        items: <BottomNavigationBarItem>[
          BottomNavigationBarItem(
            backgroundColor: kPrimaryColor,
            icon: Icon(
              Icons.home_outlined,
              color: Colors.white,
            ),
            label: 'Home',
          ),
          BottomNavigationBarItem(
            backgroundColor: kPrimaryColor,
            icon: Icon(
              Icons.category,
              color: Colors.white,
            ),
            label: 'Category',
          ),
          BottomNavigationBarItem(
            backgroundColor: kPrimaryColor,
            icon: ImageIcon(
              AssetImage(AppImages.phonecall),
              color: Colors.white,
            ),
            label: 'Invite',
          ),
          BottomNavigationBarItem(
            backgroundColor: kPrimaryColor,
            icon: Icon(
              Icons.person_outlined,
              color: Colors.white,
            ),
            label: 'Account',
          ),
        ],
        // fixedColor: Colors.black,
        currentIndex: _selectedIndex,
        // selectedItemColor: Color(0xffF9C000),
        onTap: _onItemTapped,
        showUnselectedLabels: true,
        selectedItemColor: kPrimaryLightColor,
        // unselectedItemColor: Color(0xff737373),

        unselectedLabelStyle: GoogleFonts.lato(color: Colors.white),
        selectedLabelStyle: GoogleFonts.lato(color: Colors.white),
      ),
    );

    // );
  }
}

flutter

dart

flutter-bottomnavigation

flutter-routes

0 Answers

Your Answer

Accepted video resources