我发现一篇文章解释了如何在其中对图像进行视差处理lazyColumn
,因此那里有这样的方法
@Composable
fun ImageParallaxScroll() {
val lazyListState = rememberLazyListState()
val list = (0..1_000).map{ "Item $it" }.toList()
val firstItemTranslationY: LazyListState by remember {
derivedStateOf {
when {
lazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() && lazyListState.firstVisibleItemIndex == 0 -> lazyListState.firstVisibleItemScrollOffset * .6f
else -> 0f
}
}
}
...
}
问题是整个块remember
都用红色下划线写了下面的错误
Type 'TypeVariable(T)' has no method 'getValue(Nothing?, KProperty<*>)' and thus it cannot serve as a delegate
怎么了?无法弄清楚如何修复
添加函数导入
getValue
:在
var
变量的情况下,添加两个导入:并将类型更改
firstItemTranslationY
为Float