Flutter Pro Design

Small details that build taste in Flutter.

curated by Kamran BekirovKamran Bekirov

Upgrade your iOS 13 sheets to iOS 26

Flutter's CupertinoSheetRoute gives us the iOS 13 style modal sheet. iOS 26 moved to fully rounded sheets, so it now looks dated.

The old look:

iOS 26:

How? Using the stupid_simple_sheet package.

Make an extension on Widget:

import 'package:flutter/foundation.dart';
import 'package:stupid_simple_sheet/stupid_simple_sheet.dart';
  
extension WidgetX on Widget {
  Route<T> asAdaptiveSheetRoute<T>() {
    final bool isIos = defaultTargetPlatform == .iOS;
  
    if (isIos) {
      return StupidSimpleGlassSheetRoute(
        child: this,
        blurBehindBarrier: false,
      );
    } else {
      return StupidSimpleSheetRoute(
        child: this,
      );
    }
  }
}

Then:

Navigator.of(context).push(
  BarcodePage().asAdaptiveSheetRoute(),
);

We call it adaptive because Android skips the iOS sheet and uses the package's plain one. You can also swap StupidSimpleSheetRoute for MaterialPageRoute on Android. Your call.

Tip: modals (the ones opening from the bottom) get a close (X) at the top left, not a back arrow.