@@ -25,8 +25,8 @@ import androidx.compose.ui.platform.LocalContext
25
25
import androidx.compose.ui.platform.testTag
26
26
import androidx.compose.ui.res.dimensionResource
27
27
import androidx.compose.ui.res.painterResource
28
+ import androidx.compose.ui.res.stringResource
28
29
import androidx.compose.ui.text.style.TextAlign
29
- import androidx.compose.ui.unit.Dp
30
30
import androidx.compose.ui.unit.IntSize
31
31
32
32
import io.syslogic.colorpicker.OnColorChangedListener
@@ -49,8 +49,12 @@ fun ColorPickerComponent(
49
49
) {
50
50
51
51
val context = LocalContext .current
52
- val rowPadding = dimensionResource(R .dimen.compose_row_padding)
53
52
val listener: OnColorChangedListener ? = onColorChanged
53
+ val rowPadding = dimensionResource(R .dimen.compose_row_padding)
54
+ val colPadding = dimensionResource(R .dimen.compose_col_padding)
55
+ val hsvLabelMinWidth = dimensionResource(R .dimen.compose_hsv_label_min_width)
56
+ val hsvLabelPaddingEnd = dimensionResource(R .dimen.compose_hsv_label_padding_end)
57
+ val argbValueMinWidth = dimensionResource(R .dimen.compose_argb_value_min_width)
54
58
55
59
/* The initial value must be `initialColor` for all of them. */
56
60
var currentColor: Int by remember { mutableStateOf(initialColor.hashCode()) }
@@ -77,62 +81,66 @@ fun ColorPickerComponent(
77
81
if (showHSV || showARGB) {
78
82
Row (
79
83
verticalAlignment = Alignment .Top ,
80
- modifier = Modifier .padding(all = rowPadding)
84
+ modifier = Modifier
85
+ .padding(all = rowPadding * 4 )
81
86
) {
82
87
83
88
if (showHSV) {
84
89
Column (
85
90
horizontalAlignment = Alignment .Start ,
86
91
modifier = Modifier
87
- .padding(all = rowPadding )
92
+ .padding(all = colPadding )
88
93
.weight(0.5F )
89
94
) {
90
95
Row (
91
96
verticalAlignment = Alignment .Top ,
92
97
modifier = Modifier .padding(all = rowPadding)
93
98
) {
94
99
Text (
95
- text = " Hue: " ,
100
+ text = stringResource( R .string.text_label_hue) ,
96
101
textAlign = TextAlign .End ,
97
102
modifier = Modifier
98
- .defaultMinSize(minWidth = Dp (44F ))
99
- .testTag(" text_hue" )
103
+ .padding(end = hsvLabelPaddingEnd)
104
+ .defaultMinSize(minWidth = hsvLabelMinWidth)
105
+ .testTag(" text_label_hue" )
100
106
)
101
107
Text (
102
- modifier = Modifier .testTag( " value_hue " ) ,
103
- text = " $currentHue "
108
+ text = " $currentHue " ,
109
+ modifier = Modifier .testTag( " value_hue " )
104
110
)
105
111
}
106
112
Row (
107
113
verticalAlignment = Alignment .Top ,
108
114
modifier = Modifier .padding(all = rowPadding)
109
115
) {
110
116
Text (
111
- text = " Sat: " ,
117
+ text = stringResource( R .string.text_label_sat) ,
112
118
textAlign = TextAlign .End ,
113
119
modifier = Modifier
114
- .defaultMinSize(minWidth = Dp (44F ))
115
- .testTag(" text_sat" )
120
+ .padding(end = hsvLabelPaddingEnd)
121
+ .defaultMinSize(minWidth = hsvLabelMinWidth)
122
+ .testTag(" text_label_sat" )
116
123
)
117
124
Text (
118
- modifier = Modifier .testTag( " value_sat " ) ,
119
- text = " $currentSat "
125
+ text = " $currentSat " ,
126
+ modifier = Modifier .testTag( " value_sat " )
120
127
)
121
128
}
122
129
Row (
123
130
verticalAlignment = Alignment .Top ,
124
131
modifier = Modifier .padding(all = rowPadding)
125
132
) {
126
133
Text (
127
- text = " Val: " ,
134
+ text = stringResource( R .string.text_label_val) ,
128
135
textAlign = TextAlign .End ,
129
136
modifier = Modifier
130
- .defaultMinSize(minWidth = Dp (44F ))
131
- .testTag(" text_val" )
137
+ .padding(end = hsvLabelPaddingEnd)
138
+ .defaultMinSize(minWidth = hsvLabelMinWidth)
139
+ .testTag(" text_label_val" )
132
140
)
133
141
Text (
134
- modifier = Modifier .testTag( " value_val " ) ,
135
- text = " $currentVal "
142
+ text = " $currentVal " ,
143
+ modifier = Modifier .testTag( " value_val " )
136
144
)
137
145
}
138
146
}
@@ -142,22 +150,22 @@ fun ColorPickerComponent(
142
150
Column (
143
151
horizontalAlignment = Alignment .End ,
144
152
modifier = Modifier
145
- .padding(all = rowPadding )
153
+ .padding(all = colPadding )
146
154
.weight(0.5F )
147
155
) {
148
156
Row (
149
157
verticalAlignment = Alignment .Top ,
150
158
modifier = Modifier .padding(all = rowPadding)
151
159
) {
152
160
Text (
153
- text = " Alpha: " ,
154
- modifier = Modifier .testTag(" text_alpha " )
161
+ text = stringResource( R .string.text_label_alpha) ,
162
+ modifier = Modifier .testTag(" text_label_alpha " )
155
163
)
156
164
Text (
157
165
text = getAlphaChannel(currentColor),
158
166
textAlign = TextAlign .End ,
159
167
modifier = Modifier
160
- .defaultMinSize(minWidth = Dp ( 30F ) )
168
+ .defaultMinSize(minWidth = argbValueMinWidth )
161
169
.testTag(" value_alpha" )
162
170
)
163
171
}
@@ -166,14 +174,14 @@ fun ColorPickerComponent(
166
174
modifier = Modifier .padding(all = rowPadding)
167
175
) {
168
176
Text (
169
- text = " Blue: " ,
170
- modifier = Modifier .testTag(" text_blue " )
177
+ text = stringResource( R .string.text_label_Blue) ,
178
+ modifier = Modifier .testTag(" text_label_Blue " )
171
179
)
172
180
Text (
173
181
text = getBlueChannel(currentColor),
174
182
textAlign = TextAlign .End ,
175
183
modifier = Modifier
176
- .defaultMinSize(minWidth = Dp ( 30F ) )
184
+ .defaultMinSize(minWidth = argbValueMinWidth )
177
185
.testTag(" value_blue" )
178
186
)
179
187
}
@@ -182,14 +190,14 @@ fun ColorPickerComponent(
182
190
modifier = Modifier .padding(all = rowPadding)
183
191
) {
184
192
Text (
185
- text = " Red: " ,
186
- modifier = Modifier .testTag(" text_red " )
193
+ text = stringResource( R .string.text_label_red) ,
194
+ modifier = Modifier .testTag(" text_label_red " )
187
195
)
188
196
Text (
189
197
text = getRedChannel(currentColor),
190
198
textAlign = TextAlign .End ,
191
199
modifier = Modifier
192
- .defaultMinSize(minWidth = Dp ( 30F ) )
200
+ .defaultMinSize(minWidth = argbValueMinWidth )
193
201
.testTag(" value_red" )
194
202
)
195
203
}
@@ -198,14 +206,14 @@ fun ColorPickerComponent(
198
206
modifier = Modifier .padding(all = rowPadding)
199
207
) {
200
208
Text (
201
- text = " Green: " ,
202
- modifier = Modifier .testTag(" text_green " )
209
+ text = stringResource( R .string.text_label_green) ,
210
+ modifier = Modifier .testTag(" text_label_green " )
203
211
)
204
212
Text (
205
213
text = getGreenChannel(currentColor),
206
214
textAlign = TextAlign .End ,
207
215
modifier = Modifier
208
- .defaultMinSize(minWidth = Dp ( 30F ) )
216
+ .defaultMinSize(minWidth = argbValueMinWidth )
209
217
.testTag(" value_green" )
210
218
)
211
219
}
@@ -293,7 +301,7 @@ fun ColorPickerComponent(
293
301
Image (
294
302
contentDescription = " Alpha Slider" ,
295
303
contentScale = ContentScale .FillBounds ,
296
- painter = AlphaPainter (Size (1030F , 80F )).also {
304
+ painter = AlphaPainter (Size (1014F , 80F )).also {
297
305
it.setAlphaByColor(currentColor)
298
306
},
299
307
modifier = Modifier
@@ -338,8 +346,7 @@ fun ColorPickerComponent(
338
346
339
347
/* Color Selector */
340
348
Row (
341
- verticalAlignment = Alignment .CenterVertically ,
342
- modifier = Modifier .padding(all = rowPadding)
349
+ verticalAlignment = Alignment .CenterVertically
343
350
) {
344
351
345
352
Box (
@@ -349,7 +356,7 @@ fun ColorPickerComponent(
349
356
Image (
350
357
contentDescription = " Old Color" ,
351
358
contentScale = ContentScale .FillBounds ,
352
- painter = ColorPainter (Size (400F , 120F )).also {
359
+ painter = ColorPainter (Size (422F , 120F )).also {
353
360
it.setValue(initialColor)
354
361
},
355
362
modifier = Modifier
@@ -381,7 +388,7 @@ fun ColorPickerComponent(
381
388
Image (
382
389
contentDescription = " New Color" ,
383
390
contentScale = ContentScale .FillBounds ,
384
- painter = ColorPainter (Size (400F , 120F )).also {
391
+ painter = ColorPainter (Size (422F , 120F )).also {
385
392
it.setValue(currentColor)
386
393
},
387
394
modifier = Modifier
0 commit comments