David Corrado
02/21/2023, 11:13 PMDavid Corrado
02/21/2023, 11:13 PMDavid Corrado
02/21/2023, 11:19 PMChris Sinco [G]
02/21/2023, 11:20 PMDavid Corrado
02/21/2023, 11:21 PMDavid Corrado
02/21/2023, 11:24 PMKirill Grouchnikov
02/21/2023, 11:57 PMprimary
for active tab text and onSurfaceVariant
for inactive tab textKirill Grouchnikov
02/21/2023, 11:58 PMKirill Grouchnikov
02/22/2023, 12:01 AMDavid Corrado
02/22/2023, 6:51 PMKirill Grouchnikov
02/22/2023, 7:34 PMKirill Grouchnikov
02/22/2023, 7:35 PMKirill Grouchnikov
02/22/2023, 7:36 PMX
and onX
is a pair of two tonal stops:Kirill Grouchnikov
02/22/2023, 7:37 PMprimary
which is mapped to P40 (darker tonal stop) and then onPrimary
which is mapped to P90 (lighter tonal stop). With enough “spread” between the two stops, you should get good contrast for text on background, no matter what was the seed color that generated the whole tonal paletteKirill Grouchnikov
02/22/2023, 7:38 PMKirill Grouchnikov
02/22/2023, 7:39 PMKirill Grouchnikov
02/22/2023, 7:39 PMKirill Grouchnikov
02/22/2023, 7:41 PMKirill Grouchnikov
02/22/2023, 7:42 PMKirill Grouchnikov
02/22/2023, 7:47 PMX
if you will - such as surface
, surfaceVariant
, background
, primary
, primaryContainer
, etc.
What you are looking for is onX1
, onX2
, onX3
for every X
defined in M3, and that is something that is up to you to figure out - in terms of what kind of color harmony / coherence you are looking for.David Corrado
02/22/2023, 8:17 PMChris Sinco [G]
02/22/2023, 8:26 PMrequire me to completely rebuild ColorScheme and many other classes to add more surface colorsNot necessarily - if you are looking to just add more color parameters to
colorScheme
, you can extend MaterialTheme
: https://developer.android.com/jetpack/compose/designsystems/custom#extending-materialDavid Corrado
02/22/2023, 8:29 PMKirill Grouchnikov
02/22/2023, 8:32 PMX
and onX
. So for light mode, your fill (X) might be P90 and your text (onX) might be P20. And for dark mode, the same X would be P10 and onX would be P80. Light mapping goes to values
and dark mapping goes to values-night
Kirill Grouchnikov
02/22/2023, 8:34 PMsurface
). Indeed, it’s a 1:1 relationship for those Xs in M3, so you have two options:
1. Add onX2
and onX3
for the relevant Xs in your color scheme extension
2. Define your own X - such as let’s say mySurface
and then matching onMySurface1
, onMySurface2
and onMySurface3
for light and dark modes.