Skip to content

Slider onChangeEnd is never called when arrow keys are used. #123315

@git-n-pissed

Description

@git-n-pissed

Steps to Reproduce

  1. Execute flutter run on the code sample
  2. Click on the slider so it gains focus
  3. Use left and right arrow keys to change slider position
  4. Note that onChangeEnd is never called. Only tested on Windows 10.

Expected results: onChangeEnd should be called at the end of every slider change, regardless how it is triggered. With arrow keys, I would expect onChangeEnd to be called when the arrow key is released.

Actual results: onChangeEnd is never called when the arrow keys are used.

Code sample
import 'package:flutter/material.dart';

void main() => runApp(const SliderApp());

class SliderApp extends StatelessWidget {
  const SliderApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: SliderExample(),
    );
  }
}

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

  @override
  State<SliderExample> createState() => _SliderExampleState();
}

class _SliderExampleState extends State<SliderExample> {
  double _currentSliderValue = 20;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Slider')),
      body: Slider(
        value: _currentSliderValue,
        max: 100,
        divisions: 5,
        label: _currentSliderValue.round().toString(),
        onChanged: (double value) {
          setState(() {
            _currentSliderValue = value;
          });
        },
        onChangeEnd: (double value) {
          print('onChangeEnd');
        },
      ),
    );
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    f: material designflutter/packages/flutter/material repository.found in release: 3.7Found to occur in 3.7found in release: 3.9Found to occur in 3.9frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer version

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions