Repository navigation
Support for iOS 26 “Liquid Glass” Design in Cupertino Widgets #170310
Description
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:
- [proposal] blankcanvas 2.0 #165502
- ☂️ Bring Material 3 Expressive to Flutter #168813
- ☂️ Move the material and cupertino packages outside of Flutter #101479
- ☂️ Reinforcement: Add more basic components to the core framework #97496
- ☂️ Reinforcement: Refactor widgets from design into the core before decoupling #53059
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?
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsNo status
Activity
n7trd commentedon Jun 10, 2025
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?
At least for me, that sounds more exciting than playing catch up, engaging in fruitless competition with other cross-platform frameworks.
Hari-07 commentedon Jun 10, 2025
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
Chinmay-KB commentedon Jun 10, 2025
I suppose you meant fluent_ui
xhzq233 commentedon Jun 10, 2025
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.liquidGlassto achieve this effect, similar toImageFilter.blur.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.
orestesgaolin commentedon Jun 10, 2025
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 :)
88 remaining items
NatanAmorim commentedon Apr 29, 2026
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';withimport '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.
Liquid Glass: use real native iOS tab bar (cupertino_native CNTabBar)
Give the bottom bar a glass treatment
Kanat9494 commentedon Jul 31, 2026
are there any updates here
MaherSafadii commentedon Jul 31, 2026
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
TheLastFlame commentedon Jul 31, 2026
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
build: raise SDK floor to 3.9.0 and add cupertino_native_better
li-jia-nan commentedon Sep 4, 2026
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?bharathwajv commentedon Sep 5, 2026
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
amaan-0331 commentedon Sep 12, 2026
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.
UI: native iOS look via adaptive Cupertino/Material trees (D-013)
philasmar commentedon Oct 10, 2026
any updates on liquid glass implementation?