Flutter侧边导航插件slide_navigation的使用

Flutter侧边导航插件slide_navigation的使用

slide_navigation

Creative Navigation Slider.
此导航滑块帮助快速创建简单的创意导航小部件。


Getting Started(开始使用)

参数说明:

  • title (String):设置导航上方的标题。
  • navTitle (List [string]):导航菜单名称列表。
  • child (List[widgets]):小部件列表。
  • navScreenColor (Color):导航背景颜色。
  • navTextColor (Color):导航菜单名称的颜色。

示例代码

以下是一个完整的示例,展示如何使用 slide_navigation 插件实现一个侧边导航。

import 'package:flutter/material.dart';
import 'package:slide_navigation/slide_navigation.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeScreen(),
    );
  }
}

class HomeScreen extends StatefulWidget {
  [@override](/user/override)
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  // 导航菜单选项
  final List<String> navTitles = ['首页', '设置', '关于我们'];

  // 对应的页面小部件
  final List<Widget> children = [
    HomePage(), // 首页
    SettingsPage(), // 设置
    AboutPage(), // 关于我们
  ];

  [@override](/user/override)
  Widget build(BuildContext context) {
    return SlideNavigation(
      // 设置导航菜单名称
      navTitle: navTitles,
      // 设置导航背景颜色
      navScreenColor: Colors.blue,
      // 设置导航菜单文字颜色
      navTextColor: Colors.white,
      // 设置导航上方的标题
      title: '我的应用',
      // 设置页面内容
      child: children[0], // 默认显示第一个页面
      onNavTap: (int index) {
        // 点击导航菜单时切换页面
        setState(() {
          Navigator.of(context).pushReplacement(MaterialPageRoute(
            builder: (_) => children[index],
          ));
        });
      },
    );
  }
}

// 首页小部件
class HomePage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('首页'),
      ),
      body: Center(
        child: Text('欢迎来到首页!'),
      ),
    );
  }
}

// 设置页面小部件
class SettingsPage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('设置'),
      ),
      body: Center(
        child: Text('这是设置页面。'),
      ),
    );
  }
}

// 关于我们页面小部件
class AboutPage extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('关于我们'),
      ),
      body: Center(
        child: Text('这是一个关于我们页面。'),
      ),
    );
  }
}

更多关于Flutter侧边导航插件slide_navigation的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter侧边导航插件slide_navigation的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


slide_navigation 是一个用于 Flutter 的侧边导航插件,它可以帮助你轻松地创建一个带有滑动效果的侧边导航栏。以下是如何使用 slide_navigation 插件的基本步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 slide_navigation 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  slide_navigation: ^1.0.0 # 请检查最新版本

然后运行 flutter pub get 来获取依赖。

2. 导入包

在你的 Dart 文件中导入 slide_navigation 包:

import 'package:slide_navigation/slide_navigation.dart';

3. 创建导航栏

你可以使用 SlideNavigation 小部件来创建一个带有滑动效果的侧边导航栏。以下是一个简单的示例:

import 'package:flutter/material.dart';
import 'package:slide_navigation/slide_navigation.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Slide Navigation Example',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: SlideNavigationExample(),
    );
  }
}

class SlideNavigationExample extends StatefulWidget {
  @override
  _SlideNavigationExampleState createState() => _SlideNavigationExampleState();
}

class _SlideNavigationExampleState extends State<SlideNavigationExample> {
  int _currentIndex = 0;

  final List<Widget> _pages = [
    Center(child: Text('Home Page')),
    Center(child: Text('Profile Page')),
    Center(child: Text('Settings Page')),
  ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Slide Navigation Example'),
      ),
      body: SlideNavigation(
        currentIndex: _currentIndex,
        children: _pages,
        onIndexChanged: (index) {
          setState(() {
            _currentIndex = index;
          });
        },
      ),
      drawer: Drawer(
        child: ListView(
          padding: EdgeInsets.zero,
          children: <Widget>[
            DrawerHeader(
              child: Text('Menu'),
              decoration: BoxDecoration(
                color: Colors.blue,
              ),
            ),
            ListTile(
              title: Text('Home'),
              onTap: () {
                setState(() {
                  _currentIndex = 0;
                });
                Navigator.pop(context);
              },
            ),
            ListTile(
              title: Text('Profile'),
              onTap: () {
                setState(() {
                  _currentIndex = 1;
                });
                Navigator.pop(context);
              },
            ),
            ListTile(
              title: Text('Settings'),
              onTap: () {
                setState(() {
                  _currentIndex = 2;
                });
                Navigator.pop(context);
              },
            ),
          ],
        ),
      ),
    );
  }
}

4. 运行应用

现在你可以运行你的 Flutter 应用,并看到带有滑动效果的侧边导航栏。

5. 自定义

你可以根据需要自定义 SlideNavigation 的外观和行为。例如,你可以设置滑动的方向、动画持续时间等。

SlideNavigation(
  currentIndex: _currentIndex,
  children: _pages,
  onIndexChanged: (index) {
    setState(() {
      _currentIndex = index;
    });
  },
  slideDirection: SlideDirection.leftToRight, // 设置滑动方向
  duration: Duration(milliseconds: 300), // 设置动画持续时间
);
回到顶部