Skip to content

Add Opt-In Material Design 3 Support for Android #33063

@PureWeen

Description

@PureWeen

Summary

Add Material Design 3 (M3) support to .NET MAUI Android as an opt-in feature, allowing developers to modernize their app's appearance while maintaining backward compatibility with existing Material 2 applications.

Problem

Direct migration to Material 3 would be a breaking change because visual appearance, color schemes, and component behaviors would change for all existing apps.

Solution

Provide M3 as an opt-in feature via MSBuild property:

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

Key Deliverables

  • Build Property - UseMaterial3 MSBuild property to enable M3 at build time
  • Dual Theme System - Maintain both M2 (default) and M3 themes simultaneously
  • Conditional Widget Selection - Use M3 widgets (MaterialSwitch, etc.) when enabled
  • Resource Files - styles-material3.xml and colors-material3.xml with M3 tokens

Implementation Phases

Phase Focus Scope
1 Foundation Build property infrastructure, M3 resources, theme selection
2 Controls Update handlers for M3 widgets (Switch, RadioButton, etc.)
3 Documentation Migration guide, samples, PR template updates

Breaking Change Analysis

None - M2 remains default, opt-in only, fully backward compatible.

Metadata

Metadata

Assignees

No one assigned

    Labels

    s/triagedIssue has been reviewed

    Type

    No fields configured for Epic.

    Projects

    Status
    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions