我有一个显示在主屏幕上的项目列表,该列表可以垂直滚动。目前我有 5 个项目,但当用户接近最后一个项目时会添加项目,从而创建无限滚动。
我想让所有项目淡出,但焦点所在的项目应该完全透明,如下所示:
正如您所看到的,左侧和右侧的项目已褪色并且稍小,而焦点中的项目是完全透明的并且稍大,表明这是焦点中的项目。
这是我的Composable
list:
@Composable
fun HomeScreenList() {
val homeScreenItems = getItems()
val listState = rememberLazyListState(Int.MAX_VALUE / 2)
LazyRow(
state = listState,
modifier = Modifier
.fillMaxWidth(),
contentPadding = PaddingValues(horizontal = 16.dp, vertical = 8.dp)
) {
items(Int.MAX_VALUE, itemContent = {
val index = it % homeScreenItems.size
HomeScreenItem(model = homeScreenItems[index])
})
}
}
And the HomeScreenItem
:
@Composable
fun HomeScreenItem(model: HomeScreenViewModel) {
Card(
modifier = Modifier
.padding(horizontal = 10.dp, vertical = 20.dp),
elevation = 2.dp,
backgroundColor = model.mBackgroundColor,
shape = Shapes.large,
) {
Row {
Image(
painter = painterResource(id = model.mIcon),
contentDescription = null,
contentScale = ContentScale.Crop,
modifier = Modifier
.padding(20.dp)
.size(100.dp)
)
}
}
}
有谁知道我应该如何实现这一目标?