Skip to content

Commit 8acffe4

Browse files
committed
scale datePicker
Signed-off-by: sowjanyakch <[email protected]>
1 parent c8c39fd commit 8acffe4

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed

app/src/main/java/com/nextcloud/talk/ui/dialog/DateTimeCompose.kt

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,19 @@
77

88
package com.nextcloud.talk.ui.dialog
99

10+
import android.annotation.SuppressLint
1011
import android.content.Context
1112
import android.os.Bundle
1213
import androidx.compose.animation.animateContentSize
1314
import androidx.compose.foundation.clickable
1415
import androidx.compose.foundation.layout.Arrangement
16+
import androidx.compose.foundation.layout.BoxWithConstraints
1517
import androidx.compose.foundation.layout.Column
1618
import androidx.compose.foundation.layout.Row
1719
import androidx.compose.foundation.layout.Spacer
1820
import androidx.compose.foundation.layout.fillMaxWidth
1921
import androidx.compose.foundation.layout.padding
22+
import androidx.compose.foundation.layout.requiredSizeIn
2023
import androidx.compose.foundation.layout.size
2124
import androidx.compose.foundation.layout.width
2225
import androidx.compose.foundation.rememberScrollState
@@ -42,6 +45,7 @@ import androidx.compose.runtime.mutableStateOf
4245
import androidx.compose.runtime.remember
4346
import androidx.compose.ui.Alignment
4447
import androidx.compose.ui.Modifier
48+
import androidx.compose.ui.draw.scale
4549
import androidx.compose.ui.graphics.Color
4650
import androidx.compose.ui.graphics.vector.ImageVector
4751
import androidx.compose.ui.res.stringResource
@@ -110,12 +114,11 @@ class DateTimeCompose(val bundle: Bundle) {
110114
) {
111115
Surface(
112116
shape = RoundedCornerShape(INT_8.dp),
113-
modifier = Modifier.animateContentSize()
117+
modifier = Modifier.fillMaxWidth().animateContentSize()
114118
) {
115119
Column(
116120
modifier = Modifier
117121
.padding(INT_16.dp)
118-
.fillMaxWidth()
119122
) {
120123
Header()
121124
Body()
@@ -281,27 +284,35 @@ class DateTimeCompose(val bundle: Bundle) {
281284
HorizontalDivider()
282285
}
283286

287+
@SuppressLint("UnusedBoxWithConstraintsScope")
284288
@OptIn(ExperimentalMaterial3Api::class)
285289
@Composable
286290
private fun CollapsableDateTime(shouldDismiss: MutableState<Boolean>, isCollapsed: MutableState<Boolean>) {
287291
GeneralIconButton(icon = Icons.Filled.DateRange, label = "Custom") { isCollapsed.value = !isCollapsed.value }
288292
val scrollState = rememberScrollState()
289293
Column(
290294
horizontalAlignment = Alignment.CenterHorizontally,
291-
modifier = Modifier.fillMaxWidth().verticalScroll(scrollState)
295+
modifier = Modifier.verticalScroll(scrollState)
292296
) {
293297
if (!isCollapsed.value) {
294298
val datePickerState = rememberDatePickerState()
295299
val timePickerState = rememberTimePickerState()
296300

297-
DatePicker(
298-
state = datePickerState,
299-
modifier = Modifier.fillMaxWidth()
300-
)
301+
BoxWithConstraints(
302+
modifier = Modifier
303+
.requiredSizeIn(minWidth = 360.dp)
304+
) {
305+
val scale = remember(maxWidth) { if (maxWidth < 360.dp) maxWidth / 360.dp else 1f }
306+
307+
DatePicker(
308+
state = datePickerState,
309+
modifier = Modifier
310+
.scale(scale)
311+
)
312+
}
301313

302314
TimePicker(
303-
state = timePickerState,
304-
modifier = Modifier.fillMaxWidth()
315+
state = timePickerState
305316
)
306317

307318
val date = datePickerState.selectedDateMillis?.let {

0 commit comments

Comments
 (0)