FLUTTER ECOSYSTEM

HussainTaj-W/flutter-package-selection_menu

一個高度可自訂的 Flutter 小部件,用於從項目列表中選擇一項。

flutter-package-selection_menu 專案封面
Stars
33
Forks
11
最近推送(UTC)
2022年5月24日
專案狀態
未封存
Hussain Taj GitHub avatar
GITHUB User

Hussain Taj ↗

Software Engineer

語言Dart

技術主題

此儲存庫發佈的套件

使用的依賴

依賴清單 2 項
  • flutter{"sdk":"flutter"}
  • flutter_test開發依賴{"sdk":"flutter"}

原始 README

以下為英文專案原文快照,最新內容請造訪 GitHub。

展開 / 收合專案 README

selection_menu

A highly customizable selection/select menu to choose an item from a list, with optional search feature.

Getting Started

The package provides two libraries:

  • selection_menu: Provides Widgets
  • components_configurations: Provides styles(ComponentsConfigurations) for Widgets

The image shows the same SelectionMenu Widget with three different ComponentsConfigurations.

Select Menu in different styles

Basic Usage
import 'package:selection_menu/selection_menu.dart';

SelectionMenu<String>(
    itemsList: <String>['A','B','C'],
    onItemSelected: (String selectedItem)
    {
      print(selectedItem);
    },
    itemBuilder: (BuildContext context, String item, OnItemTapped onItemTapped)
    {
       return Material(
         InkWell(
           onTap: onItemTapped,
           child: Text(item),
         ),
       ); 
    },
    // other Properties...
);

Using A ComponentsConfiguration

import 'package:selection_menu/selection_menu.dart';

// IMPORT this package to get access to configuration classes.
import 'package:selection_menu/components_configurations.dart';

SelectionMenu<String>(
  itemsList: <String>['A','B','C'],
  onItemSelected: (String selectedItem)
  {
    print(selectedItem);
  },
  itemBuilder: (BuildContext context, String item, OnItemTapped onItemTapped)
  {
    return Material(
      InkWell(
        onTap: onItemTapped,
        child: Text(item),
      ),
    );
  },
  componentsConfigurations: DropdownComponentsConfigurations<String>(),
);

Customization

The menu is divided into parts called Components which allows to change one part while the others remain intact.

A ComponentsConfiguration is simply a container for all Components and configurations.

https://i.imgur.com/QL67eib.jpg

Reading the examples is recommended because there are a lot of things to cover and an intro page shouldn't be that long.

Examples

A series of examples can be found here.

Contributions

You may make changes and open pull requests on GitHub. :)