FLUTTER ECOSYSTEM

AmirmahdiNourkazemi/numeric_selector

一个可自定义的数字选择器包,适用于 Flutter,提供水平和垂直数字选择器,支持平滑滚动和可选的震动反馈。

numeric_selector 项目封面
Stars
7
Forks
0
最近推送(UTC)
2026年2月4日
项目状态
未归档
Amirmahdi Nourkazemi GitHub avatar
GITHUB User

Amirmahdi Nourkazemi ↗

Welcome to my GitHub profile! I'm Amir, a Mobile Software Engineer

Vada House of Mobile
语言Dart

技术话题

此仓库发布的插件

使用的依赖

依赖清单 4 项
  • flutter{"sdk":"flutter"}
  • vibration^3.1.2
  • flutter_test开发依赖{"sdk":"flutter"}
  • flutter_lints开发依赖^4.0.0

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

展开 / 收起项目 README

Numeric Selector

A customizable Numeric Selector package for Flutter, providing both Horizontal and Vertical Numeric Selector with smooth scrolling and optional vibration feedback.

Features

✅ Horizontal and Vertical pickers
✅ Customizable styles and colors
✅ Vibration feedback support
✅ Supports minimum, maximum, and step values
✅ Optional labels and arrow indicators

Installation

Add the following dependency to your pubspec.yaml file:

dependencies:
  numeric_selector: latest_version

Then, run:

flutter pub get

Demo

Horizontal Numeric Selector Vertical Numeric Selector
Horizontal Numeric Selector Vertical Numeric Selector

Usage

Horizontal Numeric Selector
HorizontalNumericSelector(
  minValue: 0,
  maxValue: 100,
  step: 1,
  initialValue: 50,
  onValueChanged: (value) {
    print("Selected Value: $value");
  },
  viewPort: 0.3,
  selectedTextStyle: TextStyle(fontSize: 32, fontWeight: FontWeight.bold),
  unselectedTextStyle: TextStyle(fontSize: 24, color: Colors.grey),
  backgroundColor: Colors.white,
  showLabel: true,
  label: "Quantity",
  showArrows: true,
  enableVibration: true,
)
Vertical Numeric Selector
VerticalNumericSelector(
  minValue: 1,
  maxValue: 10,
  step: 1,
  initialValue: 5,
  onValueChanged: (value) {
    print("Selected Value: $value");
  },
  viewPort: 0.3,
  selectedTextStyle: TextStyle(fontSize: 32, fontWeight: FontWeight.bold),
  unselectedTextStyle: TextStyle(fontSize: 24, color: Colors.grey),
  backgroundColor: Colors.white,
  borderRadius: BorderRadius.circular(10),
  showLabel: true,
  label: "Speed",
  showArrows: true,
  enableVibration: true,
)

Parameters

Parameter Type Description
minValue int Minimum selectable value
maxValue int Maximum selectable value
step int Step between values
initialValue int Default selected value
onValueChanged ValueChanged<int> Callback when value changes
viewPort double Fraction of viewport occupied by picker
selectedTextStyle TextStyle? Style for selected value
unselectedTextStyle TextStyle? Style for unselected values
backgroundColor Color? Background color
borderRadius BorderRadius? Corner radius for picker background
showLabel bool Show label text below selected value
label String? Custom label text
showArrows bool Show navigation arrows
arrowIcon IconData? Custom arrow icon
enableVibration bool Enable vibration feedback

Contributing

Contributions are welcome! Feel free to submit a PR or open an issue.

Contact

👤 Amirmahdi Nourkazemi
LinkedIn

License

This project is licensed under the MIT License.