Skip to content

Commit 05eb3e1

Browse files
authored
Fix DatePickerDialog confirmButton and dismissButton inconsistent position for platforms by impl of skiko (#3048)
Fix DatePickerDialog confirmButton and dismissButton at inconsistent position in skiko implementation (on iOS, JVM desktop, JS and Wasm) Following the upsteam androidx/androidx's fix for Android androidx@5e5fbcc Fixes https://youtrack.jetbrains.com/issue/CMP-10091/iOS-Material3-dialogs-render-confirmButton-and-dismissButton-in-inconsistent-positions ## Testing ### Code snippits ```xml <string name="common_action_ok">OK</string> <string name="common_action_cancel">Cancel</string> ``` ```kotlin DatePickerDialog( onDismissRequest = { /* close */ }, confirmButton = { TextButton(onClick = { /* close */ }) { Text(stringResource(Res.string.common_action_ok)) } }, dismissButton = { TextButton(onClick = { /* close */ }) { Text(stringResource(Res.string.common_action_cancel)) } } ) { DatePicker( state = datePickerState ) } ``` ### Steps 1. Made the modifications and published to mavenLocal 2. Change the project depends on this libs to refer version 9999.0.0-SNAPSHOT 3. Build and run project supported by skiko (iOS, JVM on macOS, Kotlin/JS and Kotlin/wasm) 4. Confirm the confirmButton and dismissButton in DatePickerDialog on these targets align to the Android (under LTR language, dismissButton at left, confirmButton at right ) ## Release Notes ### Fixes - Multiple Platforms - Fix `DatePickerDialog`'s `confirmButton` and `dismissButton` display order on iOS, Desktop, Kotlin/JS and Kotlin/Wasm not consistent with Material Design guidance
1 parent 37bd636 commit 05eb3e1

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

compose/material3/material3/src/skikoMain/kotlin/androidx/compose/material3/DatePickerDialog.skiko.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@ actual fun DatePickerDialog(
104104
mainAxisSpacing = DialogButtonsMainAxisSpacing,
105105
crossAxisSpacing = DialogButtonsCrossAxisSpacing
106106
) {
107-
dismissButton?.invoke()
108107
confirmButton()
108+
dismissButton?.invoke()
109109
}
110110
}
111111
}

0 commit comments

Comments
 (0)