From e1f935bb4b97af5507395fc1071ac45fe0cf7c0a Mon Sep 17 00:00:00 2001 From: Void_Empty Date: Sat, 28 Sep 2024 01:06:06 +0800 Subject: [PATCH 1/3] library: Fix some details --- .../kotlin/top/yukonga/miuix/kmp/basic/Button.kt | 4 ++-- .../top/yukonga/miuix/kmp/basic/NavigationBar.kt | 16 +++++++++++++--- .../kotlin/top/yukonga/miuix/kmp/basic/Switch.kt | 6 +++--- .../top/yukonga/miuix/kmp/basic/TopAppBar.kt | 4 ++-- .../top/yukonga/miuix/kmp/extra/SuperDropdown.kt | 1 + 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/Button.kt b/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/Button.kt index 4f8f851b..eac2ad77 100644 --- a/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/Button.kt +++ b/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/Button.kt @@ -80,7 +80,7 @@ fun Button( @Composable private fun getButtonColor(enabled: Boolean, submit: Boolean): Color { return if (enabled) { - if (submit) MiuixTheme.colorScheme.primary else MiuixTheme.colorScheme.secondary + if (submit) MiuixTheme.colorScheme.primary else MiuixTheme.colorScheme.secondaryVariant } else { if (submit) MiuixTheme.colorScheme.disabledPrimaryButton else MiuixTheme.colorScheme.disabledSecondaryVariant } @@ -89,7 +89,7 @@ private fun getButtonColor(enabled: Boolean, submit: Boolean): Color { @Composable private fun getTextColor(enabled: Boolean, submit: Boolean): Color { return if (enabled) { - if (submit) Color.White else MiuixTheme.colorScheme.onBackground + if (submit) MiuixTheme.colorScheme.onPrimary else MiuixTheme.colorScheme.onSecondaryVariant } else { if (submit) MiuixTheme.colorScheme.disabledOnPrimaryButton else MiuixTheme.colorScheme.disabledOnSecondaryVariant } diff --git a/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/NavigationBar.kt b/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/NavigationBar.kt index 422cdb23..74327ed8 100644 --- a/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/NavigationBar.kt +++ b/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/NavigationBar.kt @@ -14,6 +14,7 @@ import androidx.compose.foundation.layout.WindowInsetsSides import androidx.compose.foundation.layout.asPaddingValues import androidx.compose.foundation.layout.captionBar import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.layout.only import androidx.compose.foundation.layout.padding @@ -31,7 +32,9 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.input.pointer.pointerInput +import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import top.yukonga.miuix.kmp.theme.MiuixTheme @@ -76,7 +79,7 @@ fun NavigationBar( .background(Color.Transparent) ) { HorizontalDivider( - thickness = 0.25.dp, + thickness = 0.75.dp, color = MiuixTheme.colorScheme.dividerLine ) Row( @@ -100,10 +103,12 @@ fun NavigationBar( else -> MiuixTheme.colorScheme.onSurfaceContainerVariant } ) + val fontWeight = if (isSelected) FontWeight.Medium else FontWeight.Normal Column( horizontalAlignment = Alignment.CenterHorizontally, modifier = Modifier .weight(1f / items.size) + .height(NavigationBarHeight) .pointerInput(Unit) { detectTapGestures( onPress = { @@ -122,11 +127,12 @@ fun NavigationBar( colorFilter = ColorFilter.tint(tint) ) Text( - modifier = Modifier.padding(bottom = 14.dp), + modifier = Modifier.padding(bottom = 12.dp), text = item.label, color = tint, textAlign = TextAlign.Center, - fontSize = 13.sp, + fontSize = 12.sp, + fontWeight = fontWeight ) } } @@ -135,6 +141,10 @@ fun NavigationBar( } } +/** The default expanded height of a [NavigationBar]. */ +val NavigationBarHeight: Dp = 64.dp + + /** * The data class for [NavigationBar]. * diff --git a/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/Switch.kt b/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/Switch.kt index e4e7a52f..1e167ef3 100644 --- a/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/Switch.kt +++ b/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/Switch.kt @@ -65,15 +65,15 @@ fun Switch( var dragOffset by remember { mutableStateOf(0f) } val thumbOffset by animateDpAsState( targetValue = if (isChecked) { - if (isPressed) 26.5.dp else 28.dp + if (!enabled) 28.dp else if (isPressed) 26.5.dp else 28.dp } else { - if (isPressed) 2.5.dp else 4.dp + if (!enabled) 4.dp else if (isPressed) 2.5.dp else 4.dp } + dragOffset.dp, animationSpec = springSpec ) val thumbSize by animateDpAsState( - targetValue = if (isPressed) 23.dp else 20.dp, + targetValue = if (!enabled) 20.dp else if (isPressed) 23.dp else 20.dp, animationSpec = springSpec ) diff --git a/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/TopAppBar.kt b/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/TopAppBar.kt index 08ca8529..4994d1a8 100644 --- a/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/TopAppBar.kt +++ b/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/TopAppBar.kt @@ -540,13 +540,13 @@ private fun TopAppBarLayout( text = largeTitle, maxLines = 1, fontSize = 32.sp, - fontWeight = FontWeight.Light + fontWeight = FontWeight.Normal ) } }, modifier = Modifier .windowInsetsPadding(WindowInsets.statusBars) - .heightIn(max = 60.dp + TopAppBarExpandedHeight) + .heightIn(max = 56.dp + TopAppBarExpandedHeight) .clipToBounds() ) { measurables, constraints -> val navigationIconPlaceable = diff --git a/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/extra/SuperDropdown.kt b/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/extra/SuperDropdown.kt index 71c42226..775e96e8 100644 --- a/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/extra/SuperDropdown.kt +++ b/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/extra/SuperDropdown.kt @@ -235,6 +235,7 @@ fun SuperDropdown( options = items, isSelected = items[selectedIndex] == option, onSelectedIndexChange = { + hapticFeedback.performHapticFeedback(HapticFeedbackType.LongPress) onSelectedIndexChange(it) dismissPopup() isDropdownExpanded.value = false From a1f29ac9d78fa0b24a58afae021c7f6f5981906f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=99=E7=A9=BA?= <70465933+YuKongA@users.noreply.github.com> Date: Sat, 28 Sep 2024 10:29:45 +0800 Subject: [PATCH 2/3] 1 --- .../commonMain/kotlin/top/yukonga/miuix/kmp/basic/TopAppBar.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/TopAppBar.kt b/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/TopAppBar.kt index 4994d1a8..325b4a49 100644 --- a/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/TopAppBar.kt +++ b/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/TopAppBar.kt @@ -540,7 +540,7 @@ private fun TopAppBarLayout( text = largeTitle, maxLines = 1, fontSize = 32.sp, - fontWeight = FontWeight.Normal + fontWeight = FontWeight.Light ) } }, From e991c658b982b16d6ab29312486aa9e8b871cde7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=99=E7=A9=BA?= <70465933+YuKongA@users.noreply.github.com> Date: Sat, 28 Sep 2024 10:32:20 +0800 Subject: [PATCH 3/3] 2 --- .../commonMain/kotlin/top/yukonga/miuix/kmp/basic/Checkbox.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/Checkbox.kt b/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/Checkbox.kt index a889606c..8c28e1a6 100644 --- a/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/Checkbox.kt +++ b/miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/basic/Checkbox.kt @@ -57,7 +57,7 @@ fun Checkbox( var isPressed by remember { mutableStateOf(false) } val backgroundColor by animateColorAsState(if (isChecked) MiuixTheme.colorScheme.primary else MiuixTheme.colorScheme.secondary) val disabledBackgroundColor by rememberUpdatedState(if (isChecked) MiuixTheme.colorScheme.disabledPrimary else MiuixTheme.colorScheme.disabledSecondary) - val checkboxSize by animateDpAsState(if (isPressed) 20.dp else 22.dp) + val checkboxSize by animateDpAsState(if (!enabled) 22.dp else if (isPressed) 20.dp else 22.dp) val checkmarkColor by animateColorAsState(if (checked) MiuixTheme.colorScheme.onPrimary else backgroundColor) val disabledCheckmarkColor by animateColorAsState(if (checked) MiuixTheme.colorScheme.disabledOnPrimary else disabledBackgroundColor) val rotationAngle by animateFloatAsState(