搜尋套件、儲存庫與 APP 分類

flurry_navigation 封面
套件詳情v0.2.0

flurry_navigation

一個流暢且帶有動畫效果的 Flutter 導航套件,不會干擾螢幕,支援可調節的顏色、形狀和導航邏輯。

近 30 天下載
45
喜歡數
34
Pub 分數
60

安裝套件

flutter pub add flurry_navigation

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

Flurry Navigation 是一個 Flutter 套件,提供流暢、動畫化的導航功能,支援自訂色彩、形狀與導航邏輯。設計用以提升使用者體驗,同時不干擾主要螢幕內容,提供乾淨且現代的導航方式。適合需要優雅過渡與彈性佈局控制的應用程式,能順暢整合至現有的 Flutter 項目中。該套件在維持效能與視覺吸引力的同時,也支援客製化。

適用情境

  • 自訂動畫側邊菜單
  • 流暢的螢幕切換
  • 品牌導航抽屜
  • 互動式UI組件
  • 移動應用導航欄
  • 基於動態形狀的導航

主要特色

  • 動畫導航過渡
  • 可調節的顏色和形狀
  • 非侵入式螢幕整合
  • 可自定義的導航邏輯
  • 輕量且高效
  • 與 Flutter 的輕鬆整合

適合對象

  • 尋求動畫導航的開發者
  • 注重設計的Flutter應用
  • 具有品牌化使用者介面的應用程式需求
  • 需要流暢使用者體驗的專案
  • 希望擁有可重用導航組件的團隊

使用建議

  • 有限的平台特定功能
  • 無內建深色模式支援
  • 需要手動設定複雜流程
  • 最適合簡單到中等的導航結構
  • 未針對大規模導航層次結構進行優化

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

flurry_navigation

A Smooth and Animated navigation package for flutter that doesn’t interfere with the Screen with adjustable colors, shapes, and navigation logic.

this Image is not available

Getting Started

First of all, Depend on the package.

dependencies:
  ...
  flurry_navigation: ^0.2.0 #May not be the latest version
Changes to the Screens files

Add your code inside this variable below in every screen you want to navigate.

import 'package:flurry_navigation/flurry_navigation.dart';
//The variable name must be unique
final firstscreen = new Screen(

);

Changes in the main file

First You should declare a variable called activeScreen.

var activeScreen;

Now add a Widget builder class that returns new FlurryNavigation.

Widget build(BuildContext context) {
  return new FlurryNavigation(

  );
}

Add values to these attributes to FlurryNavigation.

Widget build(BuildContext context) {
  new FlurryNavigation(
    // The Icon data of the icon the BottomLeft
    expandIcon: Image.asset("Put your path here"),
    // The size of the icon on the BottomLeft
    iconSize: 50.0,
    // The content of the screen. leave it as it is
    contentScreen: activeScreen,
   )
}

Now add the menuScreen attribute FlurryNavigation and set it to the value below. [If you want to use your own menu, contact me and I will provide you with the instructions].

Widget build(BuildContext context) {
  new FlurryNavigation(
    ...
    menuScreen: new MenuScreen(

    )
  );
}

Add the bgColor attribute to MenuScreen and set it to the Background color you want.

Widget build(BuildContext context) {
  new FlurryNavigation(
    ...
    menuScreen: new MenuScreen(
      bgColor: Colors.white, //background color
    )
  )
}

Now add the menu attribute to MenuScreen and set it to the below value

Widget build(BuildContext context) {
  return new FlurryNavigation(
    ...
    menuScreen: new MenuScreen(
      ...
      menu: new Menu(

      )
    )
  )
}

Then add the "items" attribute to "Menu" and set it to the list of items you want in the menu "which usually matches the no. of screens", with "new MenuItem" like the example below.

Widget build(BuildContext context) {
  return new FlurryNavigation(
    ...
    menuScreen: new MenuScreen(
       menu: new Menu(
         items: [
            //You can add as many items as you want, it's scrollable!!
          new MenuItem(
            id: 'hom',//Set this to whatever you want but do not duplicate it. !Required!
            icon: 'assets/hom.png',//Set this to the path of the data for the icon of the button !Required!
            isSelected: true ,//make sure the default item "isSelected" attribute is set to "true" !Required!
            selectedBtnColor: Color.fromRGBO(38, 198, 218, 1
            //the color of the item if activated !Required!
            btnShape: BoxShape.rectangle
                    //the shape of the item !Required!
            #disabledBtnColor: Colors.transparent, //this have a default value of Colors.transparent
            #selectedShadowColor: Colors.blueGrey, //this have a default value of Colors.blueGrey
            #disabledShadowColor: Colors.transparent
          ), //this have a default value of Colors.transparent,
          new MenuItem(
             id: 'sta',
            icon: 'assets/sta.png',
            isSelected: false,
            selectedBtnColor: Color.fromRGBO(38, 198, 218, 1),
            btnShape: BoxShape.rectangle
          )
         ]
       )
    )
  )
}

Now add the onMenuItemSelected attribute to "MenuScreen" to specify the logic for the navigation.

Widget build(BuildContext context) {
  new FlurryNavigation(
    ...
    menuScreen: new MenuScreen(
      ...
      //this is the logic behind the navigation. tailor the code below to fit your needs. If you want any help message me.
      onMenuItemSelected: (String itemId) {
        if (itemId == 'hom') {
          setState(() => activeScreen = firstscreen);
        } else if (itemId == 'sta') {
          setState(() => activeScreen = secondscreen);
        }
      },
    ),
  );
}

Notice

  • This is my first markdown file so if you see any problems you're free to open an issue.
  • You can find a standalone full example in the example app or in the Github repo

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

By lasheen.dev

所屬分類

原始碼儲存庫

使用此套件的專案

暫無相關資料。