Skip to content

Support for iOS 26 “Liquid Glass” Design in Cupertino Widgets #170310

Description

@lucas-goldner

Please keep comments here to the topic of liquid glass.
These issues may be more appropriate for some of the other conversations that have come up in relation to this:


Update: July 29, 2025

Important

The material and cupertino libraries are being decoupled into standalone packages to accelerate feature development. All new work for iOS26 updates in Cupertino will happen in the new packages once established in flutter/packages.

Track the overall decoupling progress in our main issue: #101479


Update June 10, 2025

[!IMPORTANT]
As with Material 3 Expressive, we are not developing the new Apple’26 UI design features in the Cupertino library right now, and we will not be accepting contributions for these updates at this time.

The arrival of major updates for both Material and Cupertino presents a significant (and exciting!) opportunity to apply past lessons and reconsider the long-term architecture for design system integration in Flutter.

To evaluate this, we have begun a broad investigation into our current approach. This includes exploring various architectural possibilities - for instance, we are re-evaluating the long-requested idea of moving the Material and Cupertino libraries out of the core framework.

This strategic pause on design updates gives us the space to ensure the long-term health and maintainability of Flutter's design libraries. We are committed to being transparent with our contributor community as we explore these options and will have more to share on our findings and future direction in the coming weeks. 💙

Meanwhile, WWDC announced other features beyond design updates that we are also tracking. See the Apple release 2025: Xcode 26, iOS 26, macOS 26 project for the latest as we are looking into each exciting update and how it will be coming to Flutter.


Use case

With the introduction of iOS 26, Apple has begun rolling out the new Liquid Glass design language. This introduces significant changes to the visual styling and interaction behavior across native iOS apps. As a result, Flutter apps using the existing Cupertino widgets risk appearing visually outdated on the latest iOS devices, leading to a degraded user experience and a perception of apps being “non-native.”

For developers targeting iOS users who expect modern, fluid design aesthetics, this represents a significant challenge. There is currently no way to adopt these design changes through Flutter’s existing Cupertino widget set.

Problem
• Flutter’s Cupertino widgets are currently modeled after pre-iOS 26 styling.
• With the release of the Liquid design language, Cupertino widgets now look outdated on iOS 26 and beyond.
• Developers may be forced to manually create custom implementations that match Liquid design, fragmenting the ecosystem.

Alternative solutions considered
• Creating custom widgets that mimic the new iOS 26 design language.
• Waiting for a third-party package to attempt a solution (uncertain support and sustainability).
• Forking flutter/cupertino.dart to add our own Liquid components (not ideal for maintainability).

Proposal

This issue aims to open a discussion around supporting Liquid design in Flutter’s Cupertino widget set.

Some ideas to consider:
1. New Widget Set: Introduce a LiquidGlass widget set that mirrors the updated design language, living alongside the current Cupertino widgets.
2. Adaptive Styling: Update existing Cupertino widgets to adapt their style based on the iOS version — using Liquid design on iOS 26+ and the classic Cupertino design on earlier versions.
3. Configurable Styling: Provide a top-level configuration or theme switch that allows developers to choose which Cupertino styling to adopt (Cupertino vs. Liquid).
4. Fallback Strategy: Ensure a graceful fallback for devices running iOS versions older than 26, if newer styles are implemented.

Would love to hear from the Flutter team and the community:
• Should this be a core framework feature?
• Or something better suited to a standalone package?
• How should we manage backward compatibility?

Activity

  1. n7trd commented on Jun 10, 2025

    @n7trd

    Perhaps it's time to reconsider the constant need to catch up. It's increasingly clear that Flutter lags behind in reimplementing various design languages, which are increasingly difficult and resource-intensive to replicate. Achieving a native look across all platforms was never easy with cross-platform development, and platforms are now drifting even further apart.

    So, where does Flutter go from here? In my opinion, the focus should shift to doubling down on the strengths it has always had: its ability to render its UI independently and the awesome developer experience it provides. Where can Flutter's strengths truly shine?

    • Embedded Devices: Where native UI toolkit doesn't exist.
    • AR Devices: Building custom UIs and exploring new interaction patterns. Instead of trying to force traditional mobile/desktop UI patterns (like those from Jetpack Compose) onto a form factor where they don't fit.
    • The Web: As WASM and WebGPU mature, there is a opportunity for creating more collaborative and high-performance cross-platform web applications. Think of apps like Rive or Figma. While it's awesome what has been achieved with JS/HTML/DOM by styling and rendering divs, the performance and developer experience for building such complex, bespoke applications can be questionable.

    At least for me, that sounds more exciting than playing catch up, engaging in fruitless competition with other cross-platform frameworks.

  2. Hari-07 commented on Jun 10, 2025

    @Hari-07
    Member

    It's probably better to have a separate package for "Liquid Glass" components. There's already precedent for this (fluent_ui, macos_ui, yaru)

    Unbundling material and cupertino from flutter has already been a point of discussion in the past several times. Ideally this would be a first party package but maybe it can start off as one that's third party

    PS: Thanks for the correction @Chinmay-KB

  3. Chinmay-KB commented on Jun 10, 2025

    @Chinmay-KB
    Contributor

    It's probably better to have a separate package for "Liquid Glass" components. There's already precedent for this (fluent, macos_ui, yaru)

    Unbundling material and cupertino from flutter has already been a point of discussion in the past several times. Ideally this would be a first party package but maybe it can start off as one that's third party

    I suppose you meant fluent_ui

  4. xhzq233 commented on Jun 10, 2025

    @xhzq233
    Contributor

    It seems that it is relatively easy to achieve this Liquid Glass effect. The refraction of the edge is mainly a mirror image of the internal glass effect, and there is no need to sample more than the background content. We can add an ImageFilter.liquidGlass to achieve this effect, similar to ImageFilter.blur.

    image.jpg

    The possible difficulties are mainly in the animation effects of various controls, such as the merging of water droplets, acceleration during dragging, etc.

    Untitled.mov

    ---Edited---

    Created an example using Flutter.

  5. orestesgaolin commented on Jun 10, 2025

    @orestesgaolin
    Contributor

    I agree with @n7trd that constantly catching up on various design changes across operating systems is a real struggle. Flutter excels when it comes to bespoke designs that are intended to look the same across platforms and platform versions.

    If Flutter were to support LiquidGlass as an iOS-specific design language, it would likely feel out of place on Android or Windows desktop. It probably wouldn't 100% match the components provided by iOS and would not receive incremental updates as soon as they become available. Additionally, with the new LiquidGlass design, we can expect fixes and changes due to questionable accessibility and its early-stage development.

    However, I think it would be extremely valuable to have ability to use Liquid-esque primitives in Flutter out of the box e.g. with shader examples, support for system context menus (by deprecating or updating CupertinoContextMenu), and perhaps new animation physics as shown by @xhzq233.

    It might be quite refreshing to see Flutter openly stating they won't mimic LiquidGlass and focus on "more important" challenges :)

  6. added
    frameworkflutter/packages/flutter repository. See also f: labels.
    p: material_uimaterial_ui package in flutter/packages
    team-designOwned by Design Languages team
    c: new featureNothing broken; request for a new capability
    c: new widgetMust also have "c: new feature". Request for a new widget.
    c: proposalA detailed proposal for a change to Flutter
    and removed
    in triagePresently being triaged by the triage team
    p: material_uimaterial_ui package in flutter/packages
    on Jun 10, 2025
  7. 88 remaining items

  8. NatanAmorim commented on Apr 29, 2026

    @NatanAmorim

    Speaking of this timeline, they also have already published the Material and Cupertino packages on pub.dev.

    Apparently it's usable, but I have not tested it. They want to make the refactoring easy to developers it should be just replace import 'package:flutter/cupertino.dart'; with import 'package:cupertino_ui/cupertino_ui.dart';. But probably wait for official announcements and maybe a migration guide.

    Your best bet for any announcements is in May 19 – 20, Google I/O 2026.

  9. Kanat9494 commented on Jul 31, 2026

    @Kanat9494

    are there any updates here

  10. MaherSafadii commented on Jul 31, 2026

    @MaherSafadii

    are there any updates here

    the decoupling of both material and cupertino design systems is almost done, after it happens i expect work to begin immediately on both material expressive and liquid glass, i also don't expect it to take much time since changes will happen to them way quicker and by more people since they will be easier to iterate on as they will become separate packages

  11. TheLastFlame commented on Jul 31, 2026

    @TheLastFlame
    Contributor

    I found it https://github.com/sdegenaar/liquid_glass_widgets. As if everything that is needed has already been implemented.

    546060841-2fe28f46-96ad-459d-b816-e6d6001d90de.mp4
  12. added
    packageflutter/packages repository. See also p: labels.
    and removed
    frameworkflutter/packages/flutter repository. See also f: labels.
    on Aug 18, 2026
  13. li-jia-nan commented on Sep 4, 2026

    @li-jia-nan

    Hi Flutter team, thanks for keeping this discussion open, is this still the main tracking issue for Liquid Glass support? Has the work started or moved to cupertino_ui?

  14. bharathwajv commented on Sep 5, 2026

    @bharathwajv

    moving this to cupertino_ui would be great!

    when cupertino_ui is announced as a separate package, I thought this would also be implemented i was wrong

  15. amaan-0331 commented on Sep 12, 2026

    @amaan-0331
    Contributor

    I think the delay in implementing Liquid Glass could actually be a good opportunity for Flutter.

    There has been a lot of discussion about Flutter being behind on Liquid Glass, but after the iPhone Duo announcement, we now have a much clearer picture of where Apple's UI system is heading.

    On iPhone Duo, things we normally think of as top and bottom bars, toolbars, tab bars, etc can move onto the vertical axis depending on the display and device pose. HIG also makes it clear that when standard system components are used, this adaptation is largely handled by the system.

    I think "cupertino_ui" should aim for the same abstraction.

    Ideally, developers using standard Cupertino navigation widgets shouldn't need to detect iPhone Duo, device posture, orientation, or size classes and manually swap between horizontal and vertical layouts.

    Instead, Flutter's Cupertino navigation/scaffold layer should own that behavior and choose the appropriate presentation internally, similar to native SwiftUI/UIKit components.

    This honestly feels like a good time to design around Apple's new navigation model from the start including different form factors and poses rather than implementing Liquid Glass styling first and adding device-specific workarounds later.

    Ideally the developer describes the navigation structure, and "cupertino_ui" decides how that navigation should be presented for the current Apple platform and layout.

  16. philasmar commented on Oct 10, 2026

    @philasmar

    any updates on liquid glass implementation?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projectc: new featureNothing broken; request for a new capabilityc: new widgetMust also have "c: new feature". Request for a new widget.c: proposalA detailed proposal for a change to Fluttercustomer: crowdAffects or could affect many people, though not necessarily a specific customer.p: cupertino_uicupertino_ui package in flutter/packagespackageflutter/packages repository. See also p: labels.team-designOwned by Design Languages teamtriaged-designTriaged by Design Languages team

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions