میانبرهای سریع در فلاتر


حتما شده تا حالا وقتی توی صفحه اصلی دیوایستون دستتون رو روی ایکون یک اپلیکیشن نگه میدارید یه سری امکانات بهتون میده که بتونید موقع باز شدن اپ مستقیما به محل مورد نظرتون برید ، اینها میانبرهایی هستن که باید توی اپتون تعریف کنید.

به این میانبرهای توی فلاتر Quick actions میگن که البته در iOS معروف هست به eponymous concept

و در اندروید معروف به App Shortcuts هستن.

نحوه استفاده

  1. مثل همیشه اول پروژتون رو استارت کنید.
  2. وارد فایل pubspec.yaml بشید و اخرین نسخه این پلاگین رو به اپتون اضافه کنید.
name: quick_action
description: A new Flutter application which demonstrates use of quick actions.

version: 1.0.0+1

environment:
  sdk: &quot>=2.1.0 <3.0.0&quot

dependencies:
  quick_actions: ^0.3.0+1
  flutter:
    sdk: flutter

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:
  uses-material-design: true

3.وارد فایل main.dart بشید و این رفرنس رو اضافه کنید:

import ‘package:quick_actions/quick_actions.dart’;

4.توی initState باید Initialize کنید لایبرری رو که با این کار در واقع شما یه callback قرار میدن و هر وقت اپلیکیشن به وسیله quick action فراخوانی شد میتونید اونو هندل کنید.

@override
  void initState() {
    super.initState();

  final QuickActions quickActions = const QuickActions();
    quickActions.initialize((String shortcutType) {
      if (shortcutType == 'action_decrement') {
        print('The user tapped on the &quotdecrement&quot action.');
      } else {
        print('The user tapped on the &quotincrement&quot action.');
      }
    });
  }

5. و در نهایت باید مدیریت کنیم میانبرهایی که قراره برای اپ ما نشون داده بشه

 @override
  void initState() {
    super.initState();
/**
* previous code
**/

quickActions.setShortcutItems(<ShortcutItem>[
      const ShortcutItem(
          type: 'action_decrement', localizedTitle: 'decrement', icon: 'minus'),
      const ShortcutItem(
          type: 'action_increment', localizedTitle: 'increment', icon: 'plus')
    ]);
  }

لطفا توجه کنید که حتما شناسه type باید یکتا باشه یعنی هر کدوم از میانبرهای شما باید شناسه type منحصر به فرد خودش رو داشته باشه.

و این چیزیه که شما در نهایت دارید.

امیدوارم به کارتون بیاد موفق باشید.

کانال من : رضا اسفندیاری