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

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

Vyuh Logo

Vyuh Framework

构建模块化、可扩展、CMS驱动的Flutter应用

文档 | 网站

Vyuh功能引导 🎯 #

vyuh_feature_onboarding

Vyuh应用程序的功能引导插件,提供灵活且可定制的引导体验。该插件包括内容驱动的引导屏幕,具有逐步指导、富文本描述和图像支持。

功能 ✨ #

  • 内容驱动的引导 📝: 使用Sanity.io CMS自定义引导内容
  • 逐步流程 🔄: 支持多个引导步骤及导航
  • 富文本支持 📖: Markdown风格的富文本描述
  • 图像集成 🖼️: 引导步骤中的图像支持
  • 动作集成 🔗: 内置导航和完成的动作

安装 📦 #

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

dependencies:
  vyuh_feature_onboarding: any

使用 💡 #

功能注册 #

在您的Vyuh应用程序设置中注册引导功能:

import 'package:vyuh_core/vyuh_core.dart' as vyuh;
import 'package:vyuh_feature_onboarding/vyuh_feature_onboarding.dart' as onboarding;

void main() {
  vyuh.runApp(
    initialLocation: '/',
    plugins: _getPlugins(),
    features: () => [
      onboarding.feature,
      // ... 其他功能
    ],
  );
}

内容示例 🎯 #

基本引导

import 'package:vyuh_core/vyuh_core.dart' as vyuh;
import 'package:vyuh_feature_onboarding/vyuh_feature_onboarding.dart' as onboarding;
import 'package:vyuh_extension_content/vyuh_extension_content.dart';
import 'package:vyuh_feature_system/vyuh_feature_system.dart' as system;

// 创建并渲染一个引导流程
final content = onboarding.OnboardingContent(
  steps: [
    onboarding.OnboardingStep(
      title: '欢迎使用Vyuh',
      description: PortableTextContent([
        PortableTextBlock(
          children: [
            PortableTextSpan(
              text: '使用内容驱动的UI构建美丽的Flutter应用',
            ),
          ],
        ),
      ]),
      image: ImageReference(
        ref: 'welcome-image.jpg',
        dimensions: ImageDimensions(width: 300, height: 200),
      ),
    ),
    onboarding.OnboardingStep(
      title: '内容管理',
      description: PortableTextContent([
        PortableTextBlock(
          children: [
            PortableTextSpan(
              text: '使用Sanity.io CMS管理您的内容',
            ),
          ],
        ),
      ]),
      image: ImageReference(
        ref: 'cms-image.jpg',
        dimensions: ImageDimensions(width: 300, height: 200),
      ),
    ),
  ],
  doneAction: Action(
    title: '开始使用',
    configurations: [
      system.NavigationAction(
        navigationType: system.NavigationType.replace,
        linkType: system.LinkType.url,
        url: '/dashboard',
      ),
    ],
  ),
);

// 在小部件中呈现
class OnboardingPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: vyuh.content.buildContent(context, content),
    );
  }
}

自定义布局

import 'package:vyuh_core/vyuh_core.dart' as vyuh;
import 'package:vyuh_feature_onboarding/vyuh_feature_onboarding.dart' as onboarding;

// 创建带有自定义布局的引导
final content = onboarding.OnboardingContent(
  steps: [
    onboarding.OnboardingStep(
      title: '自定义布局示例',
      description: PortableTextContent([
        PortableTextBlock(
          children: [
            PortableTextSpan(
              text: '此步骤使用自定义布局',
            ),
          ],
        ),
      ]),
    ),
  ],
  layout: YourCustomOnboardingLayout(),
);

// 在小部件中呈现
vyuh.content.buildContent(context, content);

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

1 回复

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


vyuh_feature_onboarding 是一个用于 Flutter 应用的新用户引导插件,它可以帮助开发者快速实现应用内的新用户引导功能。这个插件通常用于展示应用的某些关键功能或界面,帮助新用户更好地理解和使用应用。

以下是如何在 Flutter 项目中使用 vyuh_feature_onboarding 插件的基本步骤:

1. 添加依赖

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

dependencies:
  flutter:
    sdk: flutter
  vyuh_feature_onboarding: ^0.0.1  # 请使用最新版本

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

2. 导入插件

在你的 Dart 文件中导入 vyuh_feature_onboarding 插件。

import 'package:vyuh_feature_onboarding/vyuh_feature_onboarding.dart';

3. 配置引导页

vyuh_feature_onboarding 插件通常需要你配置一些引导页的内容。每个引导页通常包含一个图片、标题和描述。

final onboardingPages = [
  OnboardingPage(
    image: 'assets/onboarding1.png',
    title: 'Welcome to the App',
    description: 'This is the first step to using our app.',
  ),
  OnboardingPage(
    image: 'assets/onboarding2.png',
    title: 'Discover Features',
    description: 'Explore all the amazing features we offer.',
  ),
  OnboardingPage(
    image: 'assets/onboarding3.png',
    title: 'Get Started',
    description: 'Start your journey with just one tap.',
  ),
];

4. 显示引导页

在你的应用启动时,或者在用户第一次打开应用时,你可以使用 VyuhFeatureOnboarding 来显示引导页。

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: VyuhFeatureOnboarding(
          pages: onboardingPages,
          onDone: () {
            // 当用户完成引导时执行的操作
            Navigator.of(context).pushReplacement(
              MaterialPageRoute(builder: (context) => HomeScreen()),
            );
          },
        ),
      ),
    );
  }
}

5. 自定义样式

你可以通过 VyuhFeatureOnboarding 的参数来自定义引导页的样式,例如背景颜色、按钮颜色、文本样式等。

VyuhFeatureOnboarding(
  pages: onboardingPages,
  onDone: () {
    // 当用户完成引导时执行的操作
  },
  backgroundColor: Colors.white,
  buttonColor: Colors.blue,
  textColor: Colors.black,
);

6. 运行应用

完成上述步骤后,运行你的 Flutter 应用,你应该能够看到新用户引导页的展示。

7. 其他功能

vyuh_feature_onboarding 插件可能还提供其他功能,例如跳过按钮、分页指示器、动画效果等。你可以查阅插件的文档来了解更多详细信息。

8. 处理用户首次启动

通常,你希望在用户首次启动应用时显示引导页,而在后续启动时不再显示。你可以使用 shared_preferences 插件来保存用户是否已经完成引导的状态。

import 'package:shared_preferences/shared_preferences.dart';

Future<void> checkFirstLaunch() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  bool isFirstLaunch = prefs.getBool('isFirstLaunch') ?? true;

  if (isFirstLaunch) {
    // 显示引导页
    prefs.setBool('isFirstLaunch', false);
  } else {
    // 直接进入主界面
  }
}
回到顶部