在BottomNavBar中构建“更多”选项

时间:2019-04-30 03:52:11

标签: dart flutter

我在构建bottomNavigationBar按钮时遇到问题。由于这些功能,我改用了bmnav,但是我发现很难弄清楚该怎么做。

我希望在栏中弹出一个“更多”选项,该选项会弹出底部的动画抽屉或右侧的抽屉。

我尝试使用抽屉作为选项,但不能与按钮一起使用。

如果更改选项来处理抽屉功能,则会给我一个静态代码错误。

class _HomePageState extends State<HomePage> {
  final GlobalKey<ScaffoldState> _scaffoldKey = 
 GlobalKey<ScaffoldState>();
 int _currentTab = 0;
  final _pageOptions = [
    Text(
      'Home',
      style: TextStyle(fontSize: 50.0),
    ),
    Text(
      'Bible',
      style: TextStyle(fontSize: 50.0),
),
Text(
  'Sermons',
  style: TextStyle(fontSize: 50.0),
),
Text(
  'Prayer',
  style: TextStyle(fontSize: 50.0),
),
MoreNav();
];

  @override
  Widget build(BuildContext context) {
return Scaffold(
  key: _scaffoldKey,
  appBar: AppBar(
    backgroundColor: Colors.white,
    centerTitle: true,
    title: Row(
      mainAxisAlignment: MainAxisAlignment.center,
      mainAxisSize: MainAxisSize.min,
      children: <Widget>[
        Image.asset(
          "assets/4672.png",
          fit: BoxFit.contain,
          height: 32,
        ),
        Container(
          padding: EdgeInsets.fromLTRB(8, 0, 0, 0),
          child: Text(
            "Title",
            style: TextStyle(color: Colors.lightGreen),
          ),
        ),
      ],
    ),
  ),
  body: _pageOptions[_currentTab],
  bottomNavigationBar: bmnav.BottomNav(
      elevation: 9.0,
      index: _currentTab,
      iconStyle: bmnav.IconStyle(
          color: Colors.grey, onSelectColor: Colors.lightGreen),
      labelStyle: bmnav.LabelStyle(
          onSelectTextStyle: TextStyle(color: Colors.lightGreen)),
      onTap: (int index) {
        setState(() {
          _currentTab = index;
        });
      },
      items: [
        bmnav.BottomNavItem(Customicons.main, label: "Home"),
        bmnav.BottomNavItem(Customicons.bible, label: "Bible"),
        bmnav.BottomNavItem(Customicons.sermons, label: "Sermons"),
        bmnav.BottomNavItem(FontAwesomeIcons.pray, label: 
       "Prayer"),
        bmnav.BottomNavItem(Icons.more_horiz, label: "More"),
      ]),
     );
     }
      }

0 个答案:

没有答案