Flutter_Slider_SliderTheme_滑杆/滑块_渐变色

文章介绍了如何在Flutter中使用自定义的`GradientRectSliderTrackShape`和`GradientSliderComponentShape`来创建带有渐变色的滑杆和滑块效果,展示了代码示例和关键部分的实现细节。
  • 调用示例以及效果
		SliderTheme(
            data: SliderTheme.of(context).copyWith(
              trackHeight: 3,
              // 滑杆
              trackShape: const GradientRectSliderTrackShape(radius: 1.5),
              // 滑块
              thumbShape: const GradientSliderComponentShape(
                  rectWH: 14, overlayRectSpace: 4, overlayColor: Colours.black),
            ),
            child: Slider(
              value: 3,
              // 未滑动区域颜色
              inactiveColor: Color(0x55FFFFFF),
              min: 1,
              max: 10),
          )

UI效果

  • 滑杆渐变色
import 'package:flutter/material.dart';

class GradientRectSliderTrackShape extends SliderTrackShape
    with BaseSliderTrackShape {
   
   
  final double disabledThumbGapWidth;
  final double radius;
  final LinearGradient gradient;

  /// Creates a slider track that draws 2 rectangles.
  const GradientRectSliderTrackShape(
      {
   
   this.disabledThumbGapWidth = 2.0,
      this.radius = 0,
      this.gradient = const LinearGradient(
          colors: [Color(0xFFA2FFB7), Color(0xFF00FAED)])});

  
  Rect getPreferredRect({
   
   
    required RenderBox parentBox,
    Offset offset = Offset.zero,
    required SliderThemeData sliderTheme,
    bool isEnabled = false,
    bool isDiscrete = false,
  }) {
   
   
    final double overlayWidth =
        sliderTheme.overlayShape
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值