Flutter渐变滑块插件flutter_gradient_slider的使用

Flutter渐变滑块插件flutter_gradient_slider的使用

简介

flutter_gradient_slider 是一个为 Flutter 开发者设计的可定制渐变滑块组件。它允许你创建美观且交互式的滑块,支持渐变轨道和自定义滑块手柄。

demo

特性

  • 🎨 可定制渐变颜色
  • 🎯 可调整的手柄设计和大小
  • 📏 支持连续和离散值
  • 🔄 支持双向滑动
  • 🎭 可定制活动和非活动轨道颜色
  • 📱 响应式和平滑交互
  • ⚡ 高性能,对应用体积影响小

安装

在你的项目的 pubspec.yaml 文件中添加以下依赖:

dependencies:
  flutter_gradient_slider: ^0.0.1

然后运行 flutter pub get 来安装该包。

使用

GradientSlider(单个滑块)

GradientSlider(
  value: _currentValue, // 当前滑块的值
  onChanged: (double value) { // 滑块值改变时的回调函数
    setState(() {
      _currentValue = value;
    });
  },
  gradientColors: const [ // 渐变颜色列表
    Colors.blue,
    Colors.purple,
    Colors.red,
  ],
)

GradientRangeSelector(范围选择器)

GradientRangeSelector(
  min: 0.0, // 范围最小值
  max: 1.0, // 范围最大值
  values: selectedValues, // 当前选中的范围值
  gradientColors: const [Colors.red, Colors.blue], // 渐变颜色列表
  overlayColor: Colors.white, // 手柄交互时的覆盖颜色
  inactiveTrackColor: Colors.grey.withOpacity(0.8), // 非活动部分的颜色
  trackHeight: 4, // 滑块轨道的高度
  onChanged: (values) { // 范围值改变时的回调函数
    setState(() {
      selectedValues = values;
    });
  },
)

参数

GradientSlider

参数名称 类型 描述
value double 当前滑块的值
onChanged ValueChanged<double> 滑块值改变时的回调函数
min double 滑块的最小值(默认:0.0)
max double 滑块的最大值(默认:1.0)
gradientColors List<Color> 创建渐变轨道的颜色列表
trackHeight double 滑块轨道的高度(默认:4.0)
overlayColor Color 手柄交互时的覆盖颜色
inactiveTrackColor Color 非活动部分的颜色

GradientRangeSelector

参数名称 类型 描述
value RangeValues 当前选中的范围值
onChanged ValueChanged<RangeValues> 范围值改变时的回调函数
min double 范围的最小值(默认:0.0)
max double 范围的最大值(默认:1.0)
gradientColors List<Color> 创建渐变轨道的颜色列表
trackHeight double 选择器轨道的高度(默认:4.0)
overlayColor Color 手柄交互时的覆盖颜色
inactiveTrackColor Color 非活动部分的颜色

示例代码

import 'package:flutter/material.dart';
import 'package:flutter_gradient_slider/flutter_gradient_slider.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  [@override](/user/override)
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  RangeValues selectedValues = const RangeValues(0.25, 0.75);
  double sliderValue = 0.5;

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: Scaffold(
        body: Padding(
          padding: const EdgeInsets.symmetric(horizontal: 20.0),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              GradientSlider(
                value: sliderValue,
                max: 100,
                min: 0,
                gradientColors: const [Colors.red, Colors.blue],
                overlayColor: Colors.white,
                inactiveTrackColor: Colors.grey.withOpacity(0.8),
                onChanged: (value) {
                  setState(() {
                    sliderValue = value;
                  });
                },
              ),
              GradientRangeSelector(
                min: 0.0,
                max: 1.0,
                values: selectedValues,
                gradientColors: const [Colors.red, Colors.blue],
                overlayColor: Colors.white,
                inactiveTrackColor: Colors.grey.withOpacity(0.8),
                trackHeight: 30,
                onChanged: (values) {
                  setState(() {
                    selectedValues = values;
                  });
                },
              ),
            ],
          ),
        ),
      ),
    );
  }
}

更多关于Flutter渐变滑块插件flutter_gradient_slider的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

2 回复

当然,下面是一个关于如何使用 flutter_gradient_slider 插件的示例代码。这个插件允许你创建一个具有渐变颜色的滑块(Slider),为你的应用增加视觉吸引力。

首先,确保你已经在 pubspec.yaml 文件中添加了 flutter_gradient_slider 依赖:

dependencies:
  flutter:
    sdk: flutter
  flutter_gradient_slider: ^x.y.z  # 请替换为最新版本号

然后运行 flutter pub get 来获取依赖。

接下来,你可以在你的 Dart 文件中使用 GradientSlider。以下是一个完整的示例,展示了如何设置和使用 flutter_gradient_slider

import 'package:flutter/material.dart';
import 'package:flutter_gradient_slider/flutter_gradient_slider.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Gradient Slider Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Gradient Slider Demo'),
        ),
        body: Center(
          child: Padding(
            padding: const EdgeInsets.all(16.0),
            child: GradientSlider(
              values: [0.3, 0.7],  // 初始滑块位置
              min: 0.0,
              max: 1.0,
              handlerColorStart: Colors.blue,
              handlerColorEnd: Colors.red,
              trackColorStart: Colors.grey[300]!,
              trackColorEnd: Colors.grey[600]!,
              onChanged: (List<double> values) {
                // 当滑块值改变时回调
                print('Slider values: $values');
              },
            ),
          ),
        ),
      ),
    );
  }
}

在这个示例中:

  • values 定义了滑块的初始位置。这里我们设置了两个滑块,一个在 0.3 的位置,另一个在 0.7 的位置。
  • minmax 定义了滑块的最小值和最大值。
  • handlerColorStarthandlerColorEnd 定义了滑块手柄的渐变颜色。
  • trackColorStarttrackColorEnd 定义了滑轨的渐变颜色。
  • onChanged 是一个回调函数,当滑块的值改变时会触发这个函数。在这个例子中,我们只是简单地打印了滑块的新值。

这个示例展示了如何快速设置和使用 flutter_gradient_slider 插件。根据你的需求,你可以进一步自定义滑块的外观和行为。

更多关于Flutter渐变滑块插件flutter_gradient_slider的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


flutter_gradient_slider 是一个 Flutter 插件,用于创建带有渐变效果的滑动选择器(Slider)。它允许你自定义滑块的渐变色、轨道样式、高度、宽度等属性,适用于需要美观滑动控件的场景(如音量控制、亮度调节等)

回到顶部