material-components / material-components/material-components-android

[List] Missing preference screen components & M3 Expressive styles

Open
#4,940 2 comments 2 reactions 1 assignee View on GitHub

@imhappi is already working on this.

Since Nov 5, 2025.

feature request Widget: ListItem
Dominant language
Java
Stars
17.4k
Forks
3.2k
PR merge metrics
No merged PRs in 30d

Description

In my app, I'm currently using a [preference screen](https://developer.android.com/develop/ui/views/components/settings/organize-your-settings). Unfortunately, this component has never been made available in Material Design M3 (Expressive). However, since a while, Android migrates apps to newly designed preference screens like the following one:
Image

The functionality is like the one in the "old-style" preference screen, but the design is from M3 Expressive, i.e...
1. Card style items
2. M3 (Expressive) style switches for SwitchPreference
3. M3 (Expressive) style (with rounded corners, etc.) for ListPreference

**Describe the solution you'd like**
While the current [M3 Expressive list variant](https://github.com/material-components/material-components-android/blob/master/docs/components/List.md) covers the first bullet point mentioned above, the other preference screen components and their functionality are not available in M3 (Expressive) style .

Is there any workaround to implement a complete preference screen including SwitchPreference, ListPreference, etc. with M3 (Expressive) style? Maybe, by somehow overriding today's preference screen components with M3 styles? Any ideas would be very appreciated.

Basically, the M3 Catalog demo TopAppBarPreferencesFragment in M3 Expressive Style.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.