Skip to content

Slider paint incorrectly when the track shape is rectangular #64696

@xu-baolin

Description

@xu-baolin

DEMO Screenshot

There are two paint issues:

  1. The left side of the active track is less paint.
  2. There a gap between the active track and inactive track.
    20200827_154603

Sample Code

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

void main() {
  debugPaintLayerBordersEnabled = true;
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(sliderTheme: SliderThemeData(
        trackShape: RectangularSliderTrackShape(),
        trackHeight: 100
      )),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  double value = 0.5;
  _onChange(newValue) {
    setState(() {
      print('$newValue');
      value = newValue;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Directionality(
      textDirection: TextDirection.ltr,
      child: Center(
        child: RepaintBoundary(
          child: SizedBox(
            width: 500,
            height: 200,
            child: Slider(
              value: value,
              onChanged: _onChange,
            ),
          ),
        ),
      ),
    ));
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    a: qualityA truly polished experiencef: material designflutter/packages/flutter/material repository.found in release: 1.22Found to occur in 1.22frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions