Flutter新用户引导插件easy_onboard的使用

Flutter新用户引导插件easy_onboard的使用

Easy Onboard 💙

版本 tyypgzl - easy_onboard 许可证 问题 forks - easy_onboard stars - easy_onboard

快速开始

这是一个用于Flutter项目的易于使用的包。

  • 如果你需要快速完成项目并关注设计,请将此包包含在你的项目中并快速使用。
  • 你只需要编写文本和图像小部件。
  • 设置主色调以匹配你的项目。

安装

1. 依赖于它

在你的pubspec.yaml文件中添加以下内容:

dependencies:
  easy_onboard: ^1.0.2

2. 安装它

你可以通过命令行安装包:

使用pub:

$ pub get

使用Flutter:

$ flutter pub get

3. 导入它

现在在你的Dart代码中可以使用:

import 'package:easy_onboard/easy_onboard.dart';

使用

首先,在你的项目中包含该包。然后将以下代码添加到你的小部件树中。

不要遗漏任何参数。

Onboard(
  primaryColor: const Color(0xff6C63FF),
  onboardPages: [
    OnboardModel(imagePath: 'assets/images/barbecu.png', title: 'Order Your Food', subTitle: 'Now you can order food any time right from your phone.'),
    OnboardModel(imagePath: 'assets/images/hamburger.png', title: 'Cooking Safe Food', subTitle: 'We are maintain safty and We keep clean while making food.'),
    OnboardModel(imagePath: 'assets/images/ice_cream.png', title: 'Quick Delivery', subTitle: 'Orders your favourite meals will be immediately deliver.'),
  ],
  lastText: 'Start',
  nextText: 'Next',
  skipText: 'Skip',
  skipButtonPressed: () {},
);
  • primaryColor变量是包的主题颜色。
  • 它接收onboardPages列表中的OnboardModel,模型的数量必须大于2。
  • OnboardModel 包含 imagePath, title, subtitle 字段且这些字段不能为空。

不要忘记在 pubspec.yaml 文件中定义这些图像路径:

assets:
  - assets/images/
  • lastText, nextText, skipText 是字符串定义,会出现在屏幕上。
  • skipButtonPressed 函数中编写点击跳过按钮后需要执行的操作。

例如:

skipButtonPressed: () {
  Navigator.push(
    context,
    MaterialPageRoute(builder: (context) => const SecondPage()),
  );
},

截图

截图1 截图2 截图3

示例代码

以下是一个完整的示例代码,展示了如何使用 easy_onboard 插件:

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

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key}) : super(key: key);

  [@override](/user/override)
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Onboard(
      primaryColor: const Color(0xff6C63FF),
      onboardPages: onboardPages,
      skipButtonPressed: () {
        Navigator.push(
          context,
          MaterialPageRoute(builder: (context) => const SecondPage()),
        );
      },
      skipText: 'Skip',
      nextText: 'Next',
      lastText: 'Start',
    );
  }
}

List<OnboardModel> onboardPages = [
  OnboardModel(imagePath: 'assets/images/barbecu.png', title: 'Order Your Food', subTitle: 'Now you can order food any time right from your phone.'),
  OnboardModel(imagePath: 'assets/images/hamburger.png', title: 'Cooking Safe Food', subTitle: 'We are maintain safty and We keep clean while making food.'),
  OnboardModel(imagePath: 'assets/images/ice_cream.png', title: 'Quick Delivery', subTitle: 'Orders your favourite meals will be immediately deliver.'),
];

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

1 回复

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


easy_onboard 是一个用于 Flutter 应用的新用户引导插件,它可以帮助你轻松创建引导用户熟悉应用功能的界面。以下是如何使用 easy_onboard 插件的基本步骤:

1. 添加依赖

首先,在 pubspec.yaml 文件中添加 easy_onboard 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  easy_onboard: ^latest_version

然后运行 flutter pub get 来安装依赖。

2. 导入包

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

import 'package:easy_onboard/easy_onboard.dart';

3. 创建引导页面

使用 EasyOnboard 组件来创建引导页面。你需要提供一个 List<OnboardModel>,其中每个 OnboardModel 代表一个引导页面。

class OnboardingScreen extends StatelessWidget {
  final List<OnboardModel> onboardPages = [
    OnboardModel(
      title: 'Welcome',
      description: 'Welcome to our amazing app!',
      imagePath: 'assets/images/welcome.png',
    ),
    OnboardModel(
      title: 'Explore',
      description: 'Explore all the features we offer.',
      imagePath: 'assets/images/explore.png',
    ),
    OnboardModel(
      title: 'Get Started',
      description: 'Start using the app and enjoy!',
      imagePath: 'assets/images/get_started.png',
    ),
  ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: EasyOnboard(
        pages: onboardPages,
        onFinish: () {
          // Navigate to the main screen after onboarding is complete
          Navigator.pushReplacement(
            context,
            MaterialPageRoute(builder: (context) => HomeScreen()),
          );
        },
      ),
    );
  }
}

4. 配置引导页面

你可以在 EasyOnboard 组件中配置各种属性,例如:

  • pages: 引导页面的列表。
  • onFinish: 当用户完成引导时触发的回调。
  • skipButton: 自定义跳过按钮。
  • nextButton: 自定义下一步按钮。
  • doneButton: 自定义完成按钮。
  • indicatorColor: 页面指示器的颜色。
  • selectedIndicatorColor: 当前页面指示器的颜色。

5. 运行应用

现在,你可以运行你的应用并查看效果。当用户第一次打开应用时,他们将看到你设置的引导页面。

6. 处理引导完成后的导航

onFinish 回调中,你可以处理用户完成引导后的导航逻辑。例如,跳转到应用的主界面。

onFinish: () {
  Navigator.pushReplacement(
    context,
    MaterialPageRoute(builder: (context) => HomeScreen()),
  );
},

7. 自定义样式

你可以通过自定义 skipButtonnextButtondoneButton 来改变按钮的样式。例如:

EasyOnboard(
  pages: onboardPages,
  onFinish: () {
    Navigator.pushReplacement(
      context,
      MaterialPageRoute(builder: (context) => HomeScreen()),
    );
  },
  skipButton: Text('Skip'),
  nextButton: Text('Next'),
  doneButton: Text('Done'),
  indicatorColor: Colors.grey,
  selectedIndicatorColor: Colors.blue,
),

8. 处理用户跳过引导

如果用户选择跳过引导,你可以通过 skipButtononFinish 来处理跳过逻辑。

EasyOnboard(
  pages: onboardPages,
  onFinish: () {
    Navigator.pushReplacement(
      context,
      MaterialPageRoute(builder: (context) => HomeScreen()),
    );
  },
  skipButton: TextButton(
    onPressed: () {
      Navigator.pushReplacement(
        context,
        MaterialPageRoute(builder: (context) => HomeScreen()),
      );
    },
    child: Text('Skip'),
  ),
),
回到顶部