Skip to content

CupertinoAlertDialog fading in/out leaves a temporary black square #154887

@dkwingsmt

Description

@dkwingsmt

Steps to reproduce

  1. Run the dialog example app on iOS simulator examples/api/lib/cupertino/route/show_cupertino_dialog.0.dart
  2. Opens and closes the dialog. Notice then fading animation

Expected results

Smooth fading transiting (shot on c56ab6b, the parent of 35b0349)

before.mp4

Actual results

A temporary black square (shot on 35b0349)

after.mp4

Code sample

import 'package:flutter/cupertino.dart';

Widget createAppWithButtonThatLaunchesDialog({
  required WidgetBuilder dialogBuilder,
  bool? useMaterial3,
}) {
  return CupertinoApp(
    home: CupertinoPageScaffold(
      child: Center(
        child: Builder(builder: (BuildContext context) {
          return CupertinoButton(
            onPressed: () {
              showCupertinoDialog<void>(
                context: context,
                builder: dialogBuilder,
              );
            },
            child: const Text('After PR'),
          );
        }),
      ),
    ),
  );
}

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

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

  @override
  Widget build(BuildContext context) {
    return createAppWithButtonThatLaunchesDialog(
        dialogBuilder: (BuildContext context) {
          return CupertinoAlertDialog(
            title: const Text('The title'),
            actions: <Widget>[
              CupertinoDialogAction(
                child: Text('Enabled'),
                onPressed: () { Navigator.pop(context); },
              ),
              CupertinoDialogAction(
                child: Text('Disabled'),
              ),
            ],
          );
        },
      );
  }
}

Screenshots or Video

No response

Logs

No response

Flutter Doctor output

Doctor output
[!] Flutter (Channel [user-branch], 3.25.0-1.0.pre.287, on macOS 14.6.1 23G93 darwin-arm64, locale en-US)
    ! Flutter version 3.25.0-1.0.pre.287 on channel [user-branch] at /Users/tongmu/dev/flutter
      Currently on an unknown channel. Run `flutter channel` to switch to an official channel.
      If that doesn't fix the issue, reinstall Flutter by following instructions at https://flutter.dev/setup.
    ! Upstream repository unknown source is not a standard remote.
      Set environment variable "FLUTTER_GIT_URL" to unknown source to dismiss this error.
    • Framework revision 35b0349294 (3 days ago), 2024-09-06 11:47:11 -0400
    • Engine revision c50eb8a650
    • Dart version 3.6.0 (build 3.6.0-216.0.dev)
    • DevTools version 2.39.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/tongmu/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/to/macos-android-setup for more details.

[!] Xcode - develop for iOS and macOS (Xcode 15.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15E204a
    ! CocoaPods 1.11.3 out of date (1.13.0 is recommended).
        CocoaPods is a package manager for iOS or macOS platform code.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/to/platform-plugins
      To update CocoaPods, see https://guides.cocoapods.org/using/getting-started.html#updating-cocoapods

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.2)
    • Android Studio at /Applications/Android Studio with Blaze.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)

[✓] VS Code (version 1.92.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.96.0

[✓] Connected device (5 available)
    • Tong’s iPhone 13 (mobile)       • 00008110-0005394C3AF8401E            • ios            • iOS 17.6.1 21G93
    • iPhone 15 Pro (mobile)          • 0CBCE1F5-E037-4D59-A29D-FE7A5D75F563 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-17-4 (simulator)
    • macOS (desktop)                 • macos                                • darwin-arm64   • macOS 14.6.1 23G93 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad                • darwin         • macOS 14.6.1 23G93 darwin-arm64
    • Chrome (web)                    • chrome                               • web-javascript • Google Chrome 128.0.6613.120

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 3 categories.

Metadata

Metadata

Assignees

No one assigned

    Labels

    c: regressionIt was better in the past than it is nowf: cupertinoflutter/packages/flutter/cupertino repositoryfound in release: 3.25Found to occur in 3.25frameworkflutter/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 team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions