<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nick Scot</title>
    <description>The latest articles on DEV Community by Nick Scot (@nicscott254).</description>
    <link>https://dev.to/nicscott254</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F641570%2F58dd0339-14e0-4117-9f21-6571f258121a.jpeg</url>
      <title>DEV Community: Nick Scot</title>
      <link>https://dev.to/nicscott254</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nicscott254"/>
    <language>en</language>
    <item>
      <title>Answer: curved navigation bar make it tappable</title>
      <dc:creator>Nick Scot</dc:creator>
      <pubDate>Tue, 01 Jun 2021 13:06:33 +0000</pubDate>
      <link>https://dev.to/nicscott254/answer-curved-navigation-bar-make-it-tappable-9lf</link>
      <guid>https://dev.to/nicscott254/answer-curved-navigation-bar-make-it-tappable-9lf</guid>
      <description>&lt;div class="ltag__stackexchange--container"&gt;
  &lt;div class="ltag__stackexchange--title-container"&gt;
    
      &lt;div class="ltag__stackexchange--title"&gt;
        &lt;h1&gt;
          &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7Gn-iPj_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/stackoverflow-logo-b42691ae545e4810b105ee957979a853a696085e67e43ee14c5699cf3e890fb4.svg" alt=""&gt;
            &lt;a href="https://stackoverflow.com/questions/59890966/curved-navigation-bar-make-it-tappable/59891404#59891404" rel="noopener noreferrer"&gt;
              &lt;span class="title-flare"&gt;answer&lt;/span&gt; re: curved navigation bar make it tappable
            &lt;/a&gt;
        &lt;/h1&gt;
        &lt;div class="ltag__stackexchange--post-metadata"&gt;
          &lt;span&gt;Jan 24 '20&lt;/span&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;a class="ltag__stackexchange--score-container" href="https://stackoverflow.com/questions/59890966/curved-navigation-bar-make-it-tappable/59891404#59891404" rel="noopener noreferrer"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Y9mJpuJP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/stackexchange-arrow-up-eff2e2849e67d156181d258e38802c0b57fa011f74164a7f97675ca3b6ab756b.svg" alt=""&gt;
        &lt;div class="ltag__stackexchange--score-number"&gt;
          4
        &lt;/div&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wif5Zq3z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/stackexchange-arrow-down-4349fac0dd932d284fab7e4dd9846f19a3710558efde0d2dfd05897f3eeb9aba.svg" alt=""&gt;
      &lt;/a&gt;
    
  &lt;/div&gt;
  &lt;div class="ltag__stackexchange--body"&gt;
    
&lt;p&gt;You can use &lt;code&gt;index&lt;/code&gt;, to show the page you need.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;import 'package:flutter/material.dart';
import 'package:curved_navigation_bar/curved_navigation_bar.dart';
import 'page1.dart'
import 'page2.dart'

void main() =&amp;gt; runApp(MaterialApp(home: BottomNavBar()));

class BottomNavBar extends StatefulWidget {
  @override
  _BottomNavBarState createState() =&amp;gt; _BottomNavBarState();
}

class _BottomNavBarState extends State&amp;lt;BottomNavBar&amp;gt; {
  int _pageIndex = 0;
  GlobalKey _bottomNavigationKey = GlobalKey();

  List pages&lt;/code&gt;&lt;/pre&gt;…
    
  &lt;/div&gt;
  &lt;div class="ltag__stackexchange--btn--container"&gt;
    
      &lt;a href="https://stackoverflow.com/questions/59890966/curved-navigation-bar-make-it-tappable/59891404#59891404" rel="noopener noreferrer"&gt;Open Full Answer&lt;/a&gt;
    
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;import 'package:flutter/material.dart';&lt;br&gt;
import 'package:curved_navigation_bar/curved_navigation_bar.dart';&lt;br&gt;
import 'page1.dart'&lt;br&gt;
import 'page2.dart'&lt;/p&gt;

&lt;p&gt;void main() =&amp;gt; runApp(MaterialApp(home: BottomNavBar()));&lt;/p&gt;

&lt;p&gt;class BottomNavBar extends StatefulWidget {&lt;br&gt;
  @override&lt;br&gt;
  _BottomNavBarState createState() =&amp;gt; _BottomNavBarState();&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;class _BottomNavBarState extends State {&lt;br&gt;
  int _pageIndex = 0;&lt;br&gt;
  GlobalKey _bottomNavigationKey = GlobalKey();&lt;/p&gt;

&lt;p&gt;List pages = [&lt;br&gt;
    MyRoute(&lt;br&gt;
      iconData: Icons.add,&lt;br&gt;
      page: Page1(),&lt;br&gt;
    ),&lt;br&gt;
    MyRoute(&lt;br&gt;
      iconData: Icons.compare_arrows,&lt;br&gt;
      page: Page2(),&lt;br&gt;
    )&lt;br&gt;
  ];&lt;/p&gt;

&lt;p&gt;@override&lt;br&gt;
  Widget build(BuildContext context) {&lt;br&gt;
    return Scaffold(&lt;br&gt;
      bottomNavigationBar: CurvedNavigationBar(&lt;br&gt;
        key: _bottomNavigationKey,&lt;br&gt;
        index: 0,&lt;br&gt;
        height: 50.0,&lt;br&gt;
        items: pages&lt;br&gt;
            .map((p) =&amp;gt; Icon(&lt;br&gt;
                  p.iconData,&lt;br&gt;
                  size: 30,&lt;br&gt;
                ))&lt;br&gt;
            .toList(),&lt;br&gt;
        color: Colors.white,&lt;br&gt;
        buttonBackgroundColor: Colors.white,&lt;br&gt;
        backgroundColor: Colors.blueAccent,&lt;br&gt;
        animationCurve: Curves.easeInOut,&lt;br&gt;
        animationDuration: Duration(milliseconds: 600),&lt;br&gt;
        onTap: (index) {&lt;br&gt;
          setState(() {&lt;br&gt;
            _pageIndex = index;&lt;br&gt;
          });&lt;br&gt;
        },&lt;br&gt;
      ),&lt;br&gt;
      backgroundColor: Colors.blueAccent,&lt;br&gt;
      body: pages[_pageIndex].page,&lt;br&gt;
    );&lt;br&gt;
  }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;class MyRoute {&lt;br&gt;
  final IconData iconData;&lt;br&gt;
  final Widget page;&lt;/p&gt;

&lt;p&gt;MyRoute({this.iconData, this.page});&lt;br&gt;
}&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
