Start Debugging

.NET MAUI 10 SR6 finishes Material 3 on Android behind a single UseMaterial3 flag

MAUI 10 SR6 (10.0.60) extends Material 3 theming to Button, Entry, SearchBar, DatePicker, Slider, ProgressBar, ImageButton, Switch, and Shell on Android. Opt in with one MSBuild property. No custom renderers, no styles.xml edits.

Microsoft shipped the last big chunk of Material 3 support for .NET MAUI on Android in the .NET MAUI 10 SR6 release (10.0.60), announced May 26, 2026. The interesting part is not that Material 3 is here. It is that the opt-in is exactly one MSBuild property and that the team kept handler customization out of the picture entirely.

If you have been following the .NET 11 mobile story, MAUI itself is also switching its default runtime to CoreCLR on Android and iOS in .NET 11 Preview 4. Material 3, however, is a .NET MAUI 10 feature and ships on the supported service-release cadence today.

How the rollout was sliced

Material 3 did not land all at once. The feature was staged across three .NET MAUI 10 service releases:

The full supported set in SR6 covers Entry, Editor, SearchBar, RadioButton, ProgressBar, Slider, Picker, TimePicker, DatePicker, CheckBox, Switch, ImageButton, Button, Label, ActivityIndicator, Image, and Shell.

The opt-in is one property

The whole opt-in is a single property in your .csproj:

<PropertyGroup>
  <UseMaterial3>true</UseMaterial3>
</PropertyGroup>

That is the entire surface area. Rebuild, deploy to an Android device or emulator, and the supported controls start picking up Material 3 styling automatically. No handler customization, no custom renderers, no Resources/values/styles.xml surgery, no MainActivity changes.

If you want to scope the flag to Android only, use the standard MSBuild condition:

<PropertyGroup Condition="$(TargetFramework.Contains('-android'))">
  <UseMaterial3>true</UseMaterial3>
</PropertyGroup>

Explicit styles still win

The team kept the precedence rule the way you would want it. Anything you set explicitly in XAML or C# overrides Material 3 defaults:

<Button Text="Save"
        BackgroundColor="#0F62FE"
        TextColor="White" />

That button keeps its IBM blue. Material 3 only fills in where you did not already paint. Custom handlers and renderers are unaffected, which matters if you have a design system that already overrides specific controls; flipping the flag will not silently restyle the things you intentionally customized.

Why this matters

The Android visual gap has been one of the longest-running complaints about MAUI. Out-of-the-box controls looked dated, fixing it required dropping into Android theme XML, and any per-control workaround tended to drift from whatever Google shipped in the next Material release. A single MSBuild flag that tracks Material 3 across SR releases is a meaningful reduction in maintenance surface for any team that does not have a design system already nailed down.

The pragmatic move on an existing MAUI 10 app: bump to 10.0.60, set UseMaterial3 to true, run the app on an Android emulator, and walk through every screen. Anywhere you previously hand-styled to compensate for the old defaults is now a candidate for deletion.

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< Back