Изогнутая нижняя панель навигации позволяет подключаться к другим страницам во Flutter - PullRequest
1 голос
/ 05 августа 2020

Я создаю класс для нижней навигации, который я вызываю на нескольких страницах, поэтому я сделал его собственным файлом dart. У меня он работал нормально, когда я использовал обычную нижнюю панель навигации. Однако я хочу использовать изогнутый нижний навигационный пакет. Я следил за несколькими руководствами YouTube, и хотя я скопировал именно то, что они сделали, я не могу заставить свои переходить на другие страницы. Я не понимаю, как настроить навигацию, когда у каждого «значка» нет своего атрибута onTap. Я надеюсь, что эксперты по флаттеру в группе поймут, что я делаю неправильно.

`import 'package:curved_navigation_bar/curved_navigation_bar.dart';
import 'package:flutter/material.dart';
import 'package:oracle_project/Card_Flip/daily_card.dart';
import 'package:oracle_project/Dashboard/home_screen.dart';
import 'package:oracle_project/Oracle_Deck/deck.dart';
import 'package:oracle_project/Shopping/componants/body.dart';

 
class BottomNav extends StatefulWidget {
 @override
 _BottomNavState createState() => _BottomNavState();
}
 
class _BottomNavState extends State<BottomNav> {
 Widget build(BuildContext context) {
   final HomeScreen _homeScreen = HomeScreen();
   final DailyCard _dailyCard = new DailyCard();
   final Deck _deck = new Deck();
   final Body _body = new Body();
 
   Widget _showPage = new HomeScreen();
 
   Widget _pageChooser(int page) {
     switch (page) {
       case 0:
         return _homeScreen;
         break;
       case 1:
         return _dailyCard;
         break;
       case 2:
         return _deck;
         break;
       case 3:
         return _body;
         break;
       default:
         return Container(
           child: Text("error page"),
         );
     }
   }
 
   return Scaffold(
     bottomNavigationBar: CurvedNavigationBar(
         color: Color(0xFFc9bbbe),
         backgroundColor: Colors.white,
         buttonBackgroundColor: Color(0xFFc9bbbe),
         height: 75,
         items: <Widget>[
           Icon(
             Icons.home,
             size: 30,
             color: Colors.black,
           ),
           Icon(
             Icons.change_history,
             size: 30,
             color: Colors.black,
           ),
           Icon(
             Icons.burst_mode,
             size: 30,
             color: Colors.black,
           ),
           Icon(
             Icons.shopping_basket,
             size: 30,
             color: Colors.black,
           ),
         ],
         animationDuration: Duration(milliseconds: 200),
         index: 0,
         animationCurve: Curves.bounceInOut,
         onTap: (int tappedIndex) {
           setState(() {
             _showPage = _pageChooser(tappedIndex);
           });
         }),
 
   );
 }
}
 
`


  [1]: https://i.stack.imgur.com/N3dV4.png
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...