मैंने स्पंदन के साथ निम्नलिखित बॉटमनेविगेशनबारइटम को लागू किया है। onTap या onPressed मैं url_launcher.dart का उपयोग करके डिफ़ॉल्ट ब्राउज़र में URL खोलने के लिए बाईं ओर से पहला आइकन (केस 0) चाहता हूं।

कृपया मैं इसे कैसे कोड कर सकता हूं?

बॉटमनेविगेशनबारआइटम

 void _selectTab(int tabItem) {
    setState(() {
      widget.currentTab = tabItem;
      switch (tabItem) {
        case 0:
         widget.currentPage = ProfileWidget(parentScaffoldKey: widget.scaffoldKey);
          break;
        case 1:
          widget.currentPage = OrdersWidget(parentScaffoldKey: widget.scaffoldKey);
          break;
        case 2:
          widget.currentPage = OrdersHistoryWidget(parentScaffoldKey: widget.scaffoldKey);
          break;
      }
    });
  }

          items: [
            BottomNavigationBarItem( 
              icon: Icon(Icons.person),
              title: new Container(height: 0.0),
            ),
            BottomNavigationBarItem(
                title: new Container(height: 5.0),
                icon: Container(
                  width: 42,
                  height: 42,
                  decoration: BoxDecoration(
                    color: Theme.of(context).accentColor,
                    borderRadius: BorderRadius.all(
                      Radius.circular(50),
                    ),
                    boxShadow: [
                      BoxShadow(
                          color: Theme.of(context).accentColor.withOpacity(0.4), blurRadius: 40, offset: Offset(0, 15)),
                      BoxShadow(
                          color: Theme.of(context).accentColor.withOpacity(0.4), blurRadius: 13, offset: Offset(0, 3))
                    ],
                  ),
                  child: new Icon(Icons.shopping_basket, color: Theme.of(context).primaryColor),
                )),
            BottomNavigationBarItem(
              icon: new Icon(Icons.history),
              title: new Container(height: 0.0),
            ),
          ],

किसी अन्य पृष्ठ पर मैंने ListTile पर निम्न कोड का उपयोग किया और यह ठीक काम किया।

                    onTap: () async {
                    const url = 'http://google.com';
                    if (await canLaunch(url)) {
                      await launch(url, forceSafariVC: false);
                    } else {
                      throw 'Could not launch $url';
                    }
                  },
0
David 16 अप्रैल 2020, 01:45

1 उत्तर

सबसे बढ़िया उत्तर

क्या आप अपने _onTap फंक्शन में निम्नलिखित को नहीं जोड़ सकते?

void _selectTab(int tabItem) async { //async is new here!
   if(tabItem == 0){
      const url = 'http://test.url';
      if (await canLaunch(url)) {
         await launch(url);
      } else {
         throw 'Could not launch $url';
      }
      return;
   }
   .
   .
   .
}
1
Noah-Yannick Schmid 15 अप्रैल 2020, 22:59