Flutter Slider onChangeStart
onChangeStart property of Slider takes a function, and is called only when the slider value starts changing.
Sample Code
The callback function receives the initial value of the slider when the change has started.
Slider(
onChangeStart: (double value) {
//some code
},
),
Example
Flutter Application with a Slider widget.
We display the value received by onChangeStart of slider in a Text widget.
main.dart
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
/// main application widget
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
static const String _title = 'Flutter Application';
@override
Widget build(BuildContext context) {
return MaterialApp(
title: _title,
home: Scaffold(
appBar: AppBar(title: const Text(_title)),
body: const MyStatefulWidget(),
),
);
}
}
/// stateful widget that the main application instantiates
class MyStatefulWidget extends StatefulWidget {
const MyStatefulWidget({Key? key}) : super(key: key);
@override
State<MyStatefulWidget> createState() => _MyStatefulWidgetState();
}
/// private State class that goes with MyStatefulWidget
class _MyStatefulWidgetState extends State<MyStatefulWidget> {
double _currentSliderValue = 40;
double _startSliderValue = -1;
double _endSliderValue = -1;
@override
Widget build(BuildContext context) {
return Center(
child: Column(
children: <Widget>[
Slider(
value: _currentSliderValue,
min: 0,
max: 100,
divisions: 100,
label: _currentSliderValue.round().toString(),
onChanged: (double value) {
setState(() {
_currentSliderValue = value;
});
},
onChangeStart: (double value) {
setState(() {
_startSliderValue = value;
});
},
onChangeEnd: (double value) {
setState(() {
_endSliderValue = value;
});
},
),
Text('Starting Value : ' + _startSliderValue.round().toString()),
Text('Current Slider Value : ' + _currentSliderValue.round().toString()),
Text('Stop Value : ' + _endSliderValue.round().toString()),
],
),
);
}
}
Video