Почему-то не смог найти верной информации на этот счёт. Пришлось прибегнуть к помощи Gemini в Android studio. Для Compose Multiplatform стандартный механизм ресурсов (composeResources) на данный момент напрямую не поддерживает тип <dimen> так, как это делает Android. Создавать файл dimens.xml не нужно.
Рекомендуемый способ выноса размеров в KMP — использование CompositionLocal и специальных объектов с константами. 1. Создайте файл src/commonMain/kotlin/com/test/testproject/presentation/ui/AppDimensions.kt:
import androidx.compose.runtime.staticCompositionLocalOf
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
data class AppDimensions(
val paddingSmall: Dp = 8.dp,
val paddingMedium: Dp = 16.dp,
val paddingStandard: Dp = 40.dp,
val textSizeLarge: TextUnit = 20.sp
)
val LocalDimensions = staticCompositionLocalOf { AppDimensions() } 2. Подключите размеры в тему