更新compose版本
仓库地址:https://maven.google.com/web/index.html?q=androidx.compose.#androidx.compose.ui:ui-android:1.8.1
查看最新版本并复制Gradle Kotlin DSL,如:implementation("androidx.compose.ui:ui-android:1.8.1")
放入项目的app/build.gradle.kts的dependencies中,然后Sync,所有compose依赖的库版本都会更新,如fundation、runtime等
具有onClick事件的元素取消自身消费事件的行为
将onClick设为null,点击Radio和Text时都交给Row的clickable来处理事件(否则只有点击Text时Row会接收到点击事件,RadioButton即使传递空lambda也会被视为消费了事件)
如果事件类型是()->Unit就不允许传null,必须是(()->Unit)?才允许为null值
Row(modifier = Modifier.clickable {
tileMode = i
}) {
RadioButton(selected = tileMode == i, onClick = null)
Text(text = tileModeLabel[i])
}
dp转px
10.dp.toPx() //不支持
var pxVal = with(LocalDensity.current) { 10.dp.toPx() }
根据屏幕宽度计算元素宽高
val screenWidth = LocalConfiguration.current.screenWidthDp
val firstElSize = screenWidth*0.50
Box(modifier = Modifier.width(firstElSize.dp).height(firstElSize.dp)) //正方形元素