JetPack Compose, animateColorAsSate
JetPack Compose, animateColorAsSate
使用此行时出现错误:
val surfaceColor: 颜色由 animateColorAsState(
if (isExpanded) MaterialTheme.colors.primary else MaterialTheme.colors.surface,
)
它显示以下警告:
属性 委托必须有一个 'getValue(Nothing?, KProperty*>)' 方法。 None 以下函数适用。
State.getValue(Any?, K属性<>) 其中 T = 内联运算符的颜色 State.getValue(thisObj: Any?, 属性: K属性<>): T定义在androidx.compose.runtime
确保您使用的是正确的导入语句。
比较并尝试用下面的正确语句替换您的导入语句。
import androidx.compose.animation.animateColorAsState
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column
import androidx.compose.material.MaterialTheme
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
@Composable
fun YourFunction() {
var isExpanded by remember { mutableStateOf(false) }
val surfaceColor: Color by animateColorAsState(
if (isExpanded) MaterialTheme.colors.primary else MaterialTheme.colors.surface
)
Column(
modifier = Modifier.clickable { isExpanded = !isExpanded }
) {
}
}
使用此行时出现错误:
val surfaceColor: 颜色由 animateColorAsState( if (isExpanded) MaterialTheme.colors.primary else MaterialTheme.colors.surface, )
它显示以下警告:
属性 委托必须有一个 'getValue(Nothing?, KProperty*>)' 方法。 None 以下函数适用。 State.getValue(Any?, K属性<>) 其中 T = 内联运算符的颜色 State.getValue(thisObj: Any?, 属性: K属性<>): T定义在androidx.compose.runtime
确保您使用的是正确的导入语句。
比较并尝试用下面的正确语句替换您的导入语句。
import androidx.compose.animation.animateColorAsState
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column
import androidx.compose.material.MaterialTheme
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
@Composable
fun YourFunction() {
var isExpanded by remember { mutableStateOf(false) }
val surfaceColor: Color by animateColorAsState(
if (isExpanded) MaterialTheme.colors.primary else MaterialTheme.colors.surface
)
Column(
modifier = Modifier.clickable { isExpanded = !isExpanded }
) {
}
}