Flutter 侧边导航栏小部件

xyr*_*ron 2 dart material-design flutter

我正在寻找的屏幕截图

我怎样才能在 Flutter 中实现这个侧边导航栏(左)?如果我没记错的话,有一个小部件,但我在任何地方都找不到名称。

cre*_*not 9

您正在搜索的小部件称为NavigationRail
它作为官方 Flutter API 的一部分被很好地记录下来。

示例用法如下:

int _selectedIndex = 0;

@override
Widget build(BuildContext context) {
  return Scaffold(
    body: Row(
      children: <Widget>[
        NavigationRail(
          selectedIndex: _selectedIndex,
          onDestinationSelected: (int index) {
            setState(() {
              _selectedIndex = index;
            });
          },
          labelType: NavigationRailLabelType.selected,
          destinations: [
            NavigationRailDestination(
              icon: Icon(Icons.favorite_border),
              selectedIcon: Icon(Icons.favorite),
              label: Text('First'),
            ),
            NavigationRailDestination(
              icon: Icon(Icons.bookmark_border),
              selectedIcon: Icon(Icons.book),
              label: Text('Second'),
            ),
            NavigationRailDestination(
              icon: Icon(Icons.star_border),
              selectedIcon: Icon(Icons.star),
              label: Text('Third'),
            ),
          ],
        ),
        VerticalDivider(thickness: 1, width: 1),
        // This is the main content.
        Expanded(
          child: Center(
            child: Text('selectedIndex: $_selectedIndex'),
          ),
        )
      ],
    ),
  );
}
Run Code Online (Sandbox Code Playgroud)