Skip to content

Document Material 3 expansion to ImageButton, Switch, and Shell (.NET 11)#3334

Merged
jfversluis merged 1 commit into
mainfrom
pr08-material3-imagebutton-switch-shell-from-main
May 15, 2026
Merged

Document Material 3 expansion to ImageButton, Switch, and Shell (.NET 11)#3334
jfversluis merged 1 commit into
mainfrom
pr08-material3-imagebutton-switch-shell-from-main

Conversation

@davidortinau

@davidortinau davidortinau commented May 12, 2026

Copy link
Copy Markdown
Contributor

Adds >=net-maui-11.0 monikered subsections to material-design.md for the three controls whose Android handlers adopt Material 3 styling in .NET MAUI 11 (Preview 4) when UseMaterial3 is enabled:

Verified against dotnet/maui branch net11.0:

  • src/Core/src/Handlers/ImageButton/ImageButtonHandler.Android.cs switches to ShapeableImageView when RuntimeFeature.IsMaterial3Enabled is true.
  • src/Core/src/Handlers/Switch/SwitchHandler2.Android.cs instantiates MaterialSwitch.
  • src/Core/src/RuntimeFeature.cs confirms Material 3 is project-wide opt-in via the existing UseMaterial3 flag — there's no separate per-control toggle, so the new sections follow the established "when the feature is enabled" pattern.

Screenshots for the three new controls are not yet captured and can be added in a follow-up (the prose-only pattern is consistent with what we'll need to backfill across the existing per-control sections).

Ref: companion intro in docs/whats-new/dotnet-11.md (PR #3329).


Internal previews

📄 File 🔗 Preview link
docs/user-interface/material-design.md docs/user-interface/material-design

… 11)

In .NET MAUI 11 (Preview 4), the Android handlers for ImageButton,
Switch, and Shell tab bars adopt Material 3 styling when the
UseMaterial3 project flag is enabled. Adds three new monikered
subsections to material-design.md under Platform availability,
matching the existing per-control pattern.

Upstream:
- ImageButton: dotnet/maui#33649
- Switch: dotnet/maui#33132
- Shell: dotnet/maui#33427

Screenshots for the new controls can be added in a follow-up.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@davidortinau davidortinau requested a review from a team as a code owner May 12, 2026 15:53
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 576c243:

💡 Validation status: suggestions

File Status Preview URL Details
docs/user-interface/material-design.md 💡Suggestion View (>=net-maui-8.0) Details

docs/user-interface/material-design.md

  • Line 278, Column 65: [Suggestion: other-site-link-broken - See documentation] Link 'https://developer.android.com/reference/com/google/android/material/navigation/NavigationBar' points to a page that doesn't exist. Check the path or URL and update the link.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

@learn-build-service-prod

Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

@jfversluis jfversluis merged commit 219be3e into main May 15, 2026
6 checks passed
@jfversluis jfversluis deleted the pr08-material3-imagebutton-switch-shell-from-main branch May 15, 2026 08:52
jfversluis added a commit that referenced this pull request May 15, 2026
* Bump actions/upload-artifact from 7.0.0 to 7.0.1 (#3335)

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@bbbca2d...043fb46)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* What's new (.NET 11 Preview 4): document new features (#3329)

* What's new (.NET 11 Preview 4): document new features

Add .NET 11 Preview 4 entries to the What's new page:

- CoreCLR is the default runtime on all .NET MAUI platforms
- x:Code directive for inline C# in XAML
- Compiled bindings inside DataTemplates (regression fix + diagnostics)
- Material 3 styling for Android ImageButton, DatePicker, Entry, Slider
- MonochromeFile support for Android adaptive icons
- dotnet watch for Android
- dotnet watch for iOS (incl. MtouchLink=None known issue)
- Xcode 26.4 Stable, HTTP digest auth in NSUrlSessionHandler, CoreCLR
  default on Apple platforms

Also adds the Preview 4 release notes link and bumps ms.date.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* What's new (.NET 11 Preview 4): add media assets

Add the Material 3 controls screenshot and the dotnet watch GIFs
referenced from docs/whats-new/dotnet-11.md.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Bump actions/download-artifact from 8.0.0 to 8.0.1 (#3338)

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@70fc10c...3e5f45b)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: 8.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github/gh-aw from 0.53.5 to 0.73.0 (#3337)

Bumps [github/gh-aw](https://github.com/github/gh-aw) from 0.53.5 to 0.73.0.
- [Release notes](https://github.com/github/gh-aw/releases)
- [Changelog](https://github.com/github/gh-aw/blob/main/CHANGELOG.md)
- [Commits](github/gh-aw@ffb8573...4d44d0e)

---
updated-dependencies:
- dependency-name: github/gh-aw
  dependency-version: 0.73.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/github-script from 8.0.0 to 9.0.0 (#3336)

Bumps [actions/github-script](https://github.com/actions/github-script) from 8.0.0 to 9.0.0.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](actions/github-script@v8...3a2844b)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Document Shell and ToolbarItem badges (.NET 11) (#3333)

In .NET MAUI 11 (Preview 4), BaseShellItem (Tab, ShellContent, FlyoutItem) and ToolbarItem gain BadgeText, BadgeColor, and BadgeTextColor bindable properties for displaying badges on navigation surfaces.

- docs/fundamentals/shell/tabs.md: new Tab badges section with platform notes for Android (BadgeDrawable), iOS/MacCatalyst (UITabBarItem.BadgeValue), and Windows (InfoBadge).
- docs/fundamentals/shell/flyout.md: new FlyoutItem badges section cross-linking to the tabs platform notes.
- docs/user-interface/toolbaritem.md: new Display a badge on a ToolbarItem section with toolbar-specific platform notes (iOS 26+ UIBarButtonItem.Badge requirement, primary-only).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Document Editor.ReturnCommand wired to completion (.NET 11) (#3331)

In .NET MAUI 11 (Preview 4), Editor.ReturnCommand and
ReturnCommandParameter are now invoked from SendCompleted, so a
command bound to ReturnCommand fires when the Completed event would
be raised. This adds a >=net-maui-11.0 monikered note to the Editor
properties summary and a small example after the Completed event
sample.

Upstream: dotnet/maui#32167

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Document MonochromeFile attribute for Android themed icons (.NET 11) (#3330)

Adds a >=net-maui-11.0 monikered subsection to app-icons.md describing
the new MonochromeFile attribute on <MauiIcon>, which lets single-project
Android adaptive icons use a dedicated glyph for the themed (monochrome)
icon layer on Android 13+ instead of reusing the foreground image.

Upstream: dotnet/maui#34569

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Document x:Code directive for inline C# in XAML (.NET 11) (#3332)

Adds a >=net-maui-11.0 monikered subsection to xamlc.md under XAML
Source Generation, covering the new x:Code directive. The directive
lets a small block of C# live inline in a XAML file, with the source
generator emitting it into the page's partial class. Notes the
EnablePreviewFeatures requirement, the x:Class requirement, the root
child placement rule, and the MAUIX2015/MAUIX2016 analyzer
diagnostics.

Upstream: dotnet/maui#34715

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Document Material 3 expansion to ImageButton, Switch, and Shell (.NET 11) (#3334)

In .NET MAUI 11 (Preview 4), the Android handlers for ImageButton,
Switch, and Shell tab bars adopt Material 3 styling when the
UseMaterial3 project flag is enabled. Adds three new monikered
subsections to material-design.md under Platform availability,
matching the existing per-control pattern.

Upstream:
- ImageButton: dotnet/maui#33649
- Switch: dotnet/maui#33132
- Shell: dotnet/maui#33427

Screenshots for the new controls can be added in a follow-up.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Ortinau <david.ortinau@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants