Skip to content

CupertinoSlidingSegmentedControl in CupertinoNavigationBar renders incorrectly in dark brightness (starting 3.35.0) #174642

@ryanhanks-bestow

Description

@ryanhanks-bestow

Steps to reproduce

  1. Render a CupertinoSlidingSegmentedControl in a CupertinoNavigationBar and set the device brightness to dark.
  2. Leave all non-essential params unspecified

The screenshots below are from iOS 18.5.

This appears starting with 3.35.0 (3.32.8 doesn't exhibit the issue).

Expected results

This is rendered on 3.32.8

Image
Simulator.Screen.Recording.-.iPhone.16.-.2.-.2025-08-28.at.07.23.39.mp4

Actual results

This is rendered on 3.35.0. The thumb renders white where it previously rendered Color(0xFF636366) (_kThumbColor).

The segment background colors also appear to have changed.

Image
Simulator.Screen.Recording.-.iPhone.16.-.2.-.2025-08-28.at.07.21.15.mp4

Code sample

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

void main() {
  runApp(const SlidingControlDemo());
}

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

  @override
  Widget build(BuildContext context) => const CupertinoApp(
    home: CupertinoPageScaffold(
      navigationBar: CupertinoNavigationBar(middle: SlidingControl()),
      child: Center(child: SlidingControl()),
    ),
  );
}

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

  @override
  State<SlidingControl> createState() => _SlidingControlState();
}

class _SlidingControlState extends State<SlidingControl> {
  var _value = 1;

  void _onValueChange(int? value) => value != null
      ? setState(() {
          _value = value;
        })
      : null;

  @override
  Widget build(BuildContext context) => CupertinoSlidingSegmentedControl(
    children: const {1: Text('1'), 2: Text('2')},
    groupValue: _value,
    onValueChanged: _onValueChange,
  );
}

Screenshots or Video

Screenshots / Video demonstration

See Expected and Actual Results above

Logs

n/a

Flutter Doctor output

Doctor output
[✓] Flutter (Channel stable, 3.35.0, on macOS 15.5 24F74 darwin-arm64, locale en-US) [480ms]
    • Flutter version 3.35.0 on channel stable at /Users/ryanhanks/fvm/versions/3.35.0
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b896255557 (2 weeks ago), 2025-08-13 17:14:08 -0700
    • Engine revision 1e9a811bf8
    • Dart version 3.9.0
    • DevTools version 2.48.0
    • Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop, enable-windows-desktop, enable-android, enable-ios, cli-animations,
      enable-lldb-debugging

[✓] Xcode - develop for iOS and macOS (Xcode 16.4) [1,278ms]
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16F6
    • CocoaPods version 1.16.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listc: regressionIt was better in the past than it is nowf: cupertinoflutter/packages/flutter/cupertino repositoryf: themingStyling widgets with a themefound in release: 3.35Found to occur in 3.35found in release: 3.36Found to occur in 3.36frameworkflutter/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 versionteam-designOwned by Design Languages teamtriaged-designTriaged by Design Languages team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions