material-components / material-components/material-components-android
[List] Missing preference screen components & M3 Expressive styles
@imhappi is already working on this.
Since Nov 5, 2025.
- 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:
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.