|
17 | 17 | package com.example.jetnews.ui.interests |
18 | 18 |
|
19 | 19 | import androidx.compose.Composable |
| 20 | +import androidx.compose.Pivotal |
20 | 21 | import androidx.ui.core.Modifier |
21 | | -import androidx.ui.foundation.Box |
22 | 22 | import androidx.ui.foundation.Icon |
23 | 23 | import androidx.ui.foundation.shape.corner.CircleShape |
24 | 24 | import androidx.ui.layout.padding |
25 | 25 | import androidx.ui.layout.preferredSize |
| 26 | +import androidx.ui.material.EmphasisAmbient |
26 | 27 | import androidx.ui.material.MaterialTheme |
27 | | -import androidx.ui.res.vectorResource |
| 28 | +import androidx.ui.material.ProvideEmphasis |
| 29 | +import androidx.ui.material.Surface |
| 30 | +import androidx.ui.material.icons.Icons |
| 31 | +import androidx.ui.material.icons.filled.Add |
| 32 | +import androidx.ui.material.icons.filled.Done |
28 | 33 | import androidx.ui.tooling.preview.Preview |
29 | 34 | import androidx.ui.unit.dp |
30 | | -import com.example.jetnews.R |
31 | 35 | import com.example.jetnews.ui.ThemedPreview |
32 | 36 |
|
33 | 37 | @Composable |
34 | 38 | fun SelectTopicButton( |
35 | 39 | modifier: Modifier = Modifier, |
36 | | - selected: Boolean = false |
| 40 | + @Pivotal selected: Boolean = false |
37 | 41 | ) { |
38 | | - if (selected) { |
39 | | - SelectTopicButtonOn(modifier.preferredSize(36.dp, 36.dp)) |
| 42 | + val icon = if (selected) Icons.Filled.Done else Icons.Filled.Add |
| 43 | + val backgroundColor = if (selected) { |
| 44 | + MaterialTheme.colors.primary |
40 | 45 | } else { |
41 | | - SelectTopicButtonOff(modifier.preferredSize(36.dp, 36.dp)) |
| 46 | + MaterialTheme.colors.onSurface.copy(alpha = 0.12f) |
42 | 47 | } |
43 | | -} |
44 | | - |
45 | | -@Composable |
46 | | -private fun SelectTopicButtonOn(modifier: Modifier = Modifier) { |
47 | | - Box( |
48 | | - backgroundColor = MaterialTheme.colors.primary, |
49 | | - shape = CircleShape, |
50 | | - modifier = modifier |
51 | | - ) { |
52 | | - Icon( |
53 | | - asset = vectorResource(R.drawable.ic_check), |
54 | | - tint = MaterialTheme.colors.onPrimary |
55 | | - ) |
56 | | - } |
57 | | -} |
58 | | - |
59 | | -@Composable |
60 | | -private fun SelectTopicButtonOff(modifier: Modifier = Modifier) { |
61 | | - val borderColor = MaterialTheme.colors.onSurface.copy(alpha = 0.12f) |
62 | | - Box( |
63 | | - backgroundColor = borderColor, |
| 48 | + Surface( |
| 49 | + color = backgroundColor, |
64 | 50 | shape = CircleShape, |
65 | | - modifier = modifier |
| 51 | + modifier = modifier.preferredSize(36.dp, 36.dp) |
66 | 52 | ) { |
67 | | - Icon(vectorResource(R.drawable.ic_add)) |
| 53 | + ProvideEmphasis(EmphasisAmbient.current.high) { |
| 54 | + Icon(icon) |
| 55 | + } |
68 | 56 | } |
69 | 57 | } |
70 | 58 |
|
|
0 commit comments