@@ -21,14 +21,13 @@ import androidx.activity.ComponentActivity
21
21
import androidx.activity.compose.setContent
22
22
import androidx.compose.foundation.isSystemInDarkTheme
23
23
import androidx.compose.foundation.layout.Column
24
- import androidx.compose.material.Button
25
- import androidx.compose.material.Card
26
- import androidx.compose.material.Colors
27
- import androidx.compose.material.ContentAlpha
28
- import androidx.compose.material.LocalContentAlpha
29
- import androidx.compose.material.MaterialTheme
30
- import androidx.compose.material.Text
31
- import androidx.compose.material.lightColors
24
+ import androidx.compose.material3.Button
25
+ import androidx.compose.material3.ColorScheme
26
+ import androidx.compose.material3.LocalContentColor
27
+ import androidx.compose.material3.MaterialTheme
28
+ import androidx.compose.material3.Surface
29
+ import androidx.compose.material3.Text
30
+ import androidx.compose.material3.lightColorScheme
32
31
import androidx.compose.runtime.Composable
33
32
import androidx.compose.runtime.CompositionLocalProvider
34
33
import androidx.compose.runtime.compositionLocalOf
@@ -67,7 +66,7 @@ object CompositionLocalSnippets2 {
67
66
fun MyApp () {
68
67
// Provides a Theme whose values are propagated down its `content`
69
68
MaterialTheme {
70
- // New values for colors , typography, and shapes are available
69
+ // New values for colorScheme , typography, and shapes are available
71
70
// in MaterialTheme's content lambda.
72
71
73
72
// ... content here ...
@@ -81,7 +80,7 @@ object CompositionLocalSnippets2 {
81
80
text = labelText,
82
81
// `primary` is obtained from MaterialTheme's
83
82
// LocalColors CompositionLocal
84
- color = MaterialTheme .colors .primary
83
+ color = MaterialTheme .colorScheme .primary
85
84
)
86
85
}
87
86
// [END android_compose_state_compositionlocal2]
@@ -91,14 +90,19 @@ object CompositionLocalSnippets3 {
91
90
// [START android_compose_state_compositionlocal3]
92
91
@Composable
93
92
fun CompositionLocalExample () {
94
- MaterialTheme { // MaterialTheme sets ContentAlpha.high as default
95
- Column {
96
- Text (" Uses MaterialTheme's provided alpha" )
97
- CompositionLocalProvider (LocalContentAlpha provides ContentAlpha .medium) {
98
- Text (" Medium value provided for LocalContentAlpha" )
99
- Text (" This Text also uses the medium value" )
100
- CompositionLocalProvider (LocalContentAlpha provides ContentAlpha .disabled) {
101
- DescendantExample ()
93
+ MaterialTheme {
94
+ // Surface provides contentColorFor(MaterialTheme.colorScheme.surface) by default
95
+ // This is to automatically make text and other content contrast to the background
96
+ // correctly.
97
+ Surface {
98
+ Column {
99
+ Text (" Uses Surface's provided content color" )
100
+ CompositionLocalProvider (LocalContentColor provides MaterialTheme .colorScheme.primary) {
101
+ Text (" Primary color provided by LocalContentColor" )
102
+ Text (" This Text also uses primary as textColor" )
103
+ CompositionLocalProvider (LocalContentColor provides MaterialTheme .colorScheme.error) {
104
+ DescendantExample ()
105
+ }
102
106
}
103
107
}
104
108
}
@@ -108,7 +112,7 @@ object CompositionLocalSnippets3 {
108
112
@Composable
109
113
fun DescendantExample () {
110
114
// CompositionLocalProviders also work across composable functions
111
- Text (" This Text uses the disabled alpha now" )
115
+ Text (" This Text uses the error color now" )
112
116
}
113
117
// [END android_compose_state_compositionlocal3]
114
118
}
@@ -169,11 +173,15 @@ object CompositionLocalSnippets5_6_7 {
169
173
fun SomeComposable () {
170
174
// Access the globally defined LocalElevations variable to get the
171
175
// current Elevations in this part of the Composition
172
- Card (elevation = LocalElevations .current.card) {
176
+ MyCard (elevation = LocalElevations .current.card) {
173
177
// Content
174
178
}
175
179
}
176
180
// [END android_compose_state_compositionlocal7]
181
+
182
+ @Composable
183
+ fun MyCard (elevation : Dp , content : @Composable () -> Unit ) {
184
+ }
177
185
}
178
186
179
187
object CompositionLocalSnippets8 {
@@ -267,7 +275,7 @@ object CompositionLocalSnippets11 {
267
275
/* **
268
276
* Fakes
269
277
*/
270
- fun colors (): Colors = lightColors ()
278
+ fun colors (): ColorScheme = lightColorScheme ()
271
279
272
280
data class DataToDisplay (val title : String )
273
281
class MyViewModel : ViewModel () {
0 commit comments