boeledi / RangeSlider

RangeSlider Widget for Flutter
Other
374 stars 66 forks source link

RangeSlider does not reflect trackHeight slider theme customization #19

Closed mjschaefer9395 closed 5 years ago

mjschaefer9395 commented 5 years ago

Problem Description

flutter_range_slider: ^1.2.0

When I override the slider theme track height, the standard Slider widget reflects the change, but the RangeSlider does not.

Code to Reproduce

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

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'RangeSlider Demo',
      theme: _buildTheme(context),
      home: RangeSliderSample(),
    );
  }

  ThemeData _buildTheme(BuildContext context) {
    return ThemeData(
        // https://docs.flutter.io/flutter/material/SliderThemeData-class.html
        sliderTheme: SliderTheme.of(context).copyWith(
      activeTrackColor: Colors.green,
      inactiveTrackColor: Colors.green,
      trackHeight: 8.0,  // ******** RangeSlider does not reflect track height customization
    ));
  }
}

class RangeSliderSample extends StatefulWidget {
  @override
  _RangeSliderSampleState createState() => _RangeSliderSampleState();
}

class _RangeSliderSampleState extends State<RangeSliderSample> {
  double _sliderValue = 50;
  double _rangeLoValue = 25;
  double _rangeHiValue = 50;

  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        appBar: AppBar(title: Text('RangeSlider Demo')),
        body: Container(
          padding: const EdgeInsets.only(top: 50.0, left: 10.0, right: 10.0),
          child: Column(children: [
            Slider(
              min: 1.0,
              max: 100.0,
              value: _sliderValue,
              onChanged: (double newValue) {
                setState(() {
                  _sliderValue = newValue;
                });
              },
            ),
            SizedBox(height: 50),
            RangeSlider(
              min: 1.0,
              max: 100.0,
              lowerValue: _rangeLoValue,
              upperValue: _rangeHiValue,
              onChanged: ((double newLowerValue, double newUpperValue) {
                setState(() {
                  _rangeLoValue = newLowerValue;
                  _rangeHiValue = newUpperValue;
                });
              }),
            ),
          ]),
        ),
      ),
    );
  }
}

Expected Behavior

The RangeSlider should reflect all slider theme customizations.

mjschaefer9395 commented 5 years ago

slider

DineshTamang commented 5 years ago

Yes, I am facing the same problem while using this package. Please look over this issue, that would be kind. Thank you.

kashlo commented 5 years ago

the same, please fix

mjschaefer9395 commented 5 years ago

Fix confirmed. Thank you sir.

DineshTamang commented 5 years ago

It is working now. Thank you very much!!!