bottomNavigationBar中的文本未出现!扑

时间:2019-05-04 17:45:02

标签: flutter

我是新手,我只做我的第一个应用程序。因此,如果我的问题不清楚,请原谅我。

我现在正在底部导航栏上工作。我用图标和文字制作而成,但仅出现了第一个图标和文字。其他仅有的图标。我怎样才能使一切出现?

这是代码

bottomNavigationBar:  BottomNavigationBar(
        items: [
         BottomNavigationBarItem(
            icon: new Icon(Icons.home, color: Colors.black45),
            title: new Text(
              "الرئيسية",
              style: TextStyle(color: Colors.black45),
            )
        ),
         BottomNavigationBarItem(
            icon: new Icon(Icons.business, color: Colors.black45),
            title: new Text(
              "مرسال بيزنيس",
              style: TextStyle(color: Colors.black45),
            )),
         BottomNavigationBarItem(
            icon: new Icon(Icons.local_activity, color: Colors.black45),
            title: new Text(
              "أنشطة مرسال",
              style: TextStyle(color: Colors.black45),
            )),
         BottomNavigationBarItem(
            icon: new Icon(Icons.favorite_border, color: Colors.black45),
            title: new Text(
              "تبرع",
              style: TextStyle(color: Colors.black45),
            )),
         BottomNavigationBarItem(
            icon: new Icon(Icons.help, color: Colors.black45),
            title: new Text(
              "الأسئلة الشائعة",
              style: TextStyle(color: Colors.black45),
            ))
      ],
        onTap: (currentIndex){
          _currentIndex  = currentIndex;
          if(_currentIndex==0)
            Navigator.push(context,new MaterialPageRoute(builder: (context)=>new HomePage()));
          else if(_currentIndex==1)
            Navigator.push(context,new MaterialPageRoute(builder: (context)=>new business()));
          else if(_currentIndex==2)
            Navigator.push(context,new MaterialPageRoute(builder: (context)=>new activity()));
          else if(_currentIndex==3)
            Navigator.push(context,new MaterialPageRoute(builder: (context)=>new donate()));
          else if(_currentIndex==4)
            Navigator.push(context,new MaterialPageRoute(builder: (context)=>new faq()));

        },
      ),

这就是结果:

enter image description here

另一个问题:如何使活动项目具有不同的颜色?

3 个答案:

答案 0 :(得分:1)

只需为底部导航栏定义一种类型,您就会看到文本。

  type: BottomNavigationBarType.fixed,

提示:现在标题已被弃用,因此请使用label属性代替title。

 BottomNavigationBarItem(
          icon: Icon(Icons.attach_email),
          label: "Emails",
          backgroundColor: Colors.yellow.shade900),

答案 1 :(得分:0)

您需要为BottomNavigationBar定义一个固定的类型

 bottomNavigationBar:  BottomNavigationBar(
    type: BottomNavigationBarType.fixed,
    selectedItemColor: Colors.red,
    unselectedItemColor: Colors.black45,
    currentIndex: 4,


    items: [
      BottomNavigationBarItem(
          icon: new Icon(Icons.home,/*color: Colors.black45*/),
          title: new Text(
            "الرئيسية",
            //style: TextStyle(color: Colors.black45),
          ),
      ),
      BottomNavigationBarItem(
          icon: new Icon(Icons.business, /*color: Colors.black45*/),
          title: new Text(
            "مرسال بيزنيس",
            //style: TextStyle(color: Colors.black45),
          )),
      BottomNavigationBarItem(
          icon: new Icon(Icons.local_activity, /*color: Colors.black45*/),
          title: new Text(
            "أنشطة مرسال",
           // style: TextStyle(color: Colors.black45),
          )),
      BottomNavigationBarItem(
          icon: new Icon(Icons.favorite_border, /*color: Colors.black45*/),
          title: new Text(
            "تبرع",
            //style: TextStyle(color: Colors.black45),
          )),
      BottomNavigationBarItem(
          icon: new Icon(Icons.help, /*color:  Colors.black45 */),
          title: new Text(
            "الأسئلة الشائعة",
            //style: TextStyle(color: Colors.black45),
          ))
    ],

  ),

答案 2 :(得分:0)

我相信您可以对代码进行一些重构以使其更易读和干净,而不是使用嵌套的if,否则您可以像上面的代码一样进行操作,请确保类内和Widget Build外部的void函数避免任何错误的功能。

dest: "{{ vars[item.BASE_NAME] }}-test.txt"