Доброго времени суток. Я новичек в Android, делаю проект на Compose в котором есть пролистываемый список картинок реализованный через LazyRow. При перелистывании у меня должен изменяться цвет фона. Но вот незадача, при пролистывании вправо, все ок, фон меняется как только элемент зафиксировался, а когда листаю влево, то фон меняется как только я начинаю двигать элемент. Подскажите как это можно исправить
fun Choose(){
val lazyListState = rememberLazyListState()
val colorState = remember{
mutableStateOf(Color.Red)
}
val layoutInfo: LazyListSnapperLayoutInfo = rememberLazyListSnapperLayoutInfo(lazyListState)
val indexLazyList =remember{
mutableStateOf(layoutInfo.currentItem?.index)
}
indexLazyList.value=layoutInfo.currentItem?.index
println(layoutInfo.currentItem?.index)
when(indexLazyList.value){
0 -> colorState.value = Color.Red
1 -> colorState.value = Color.Yellow
2 -> colorState.value = Color.Green
3 -> colorState.value = Color.Blue
4 -> colorState.value = Color.Magenta
}
LazyRow(
state = lazyListState,
flingBehavior = rememberSnapperFlingBehavior(lazyListState),
modifier = Modifier.fillMaxWidth().background(color = colorState.value),
contentPadding = PaddingValues(35.dp),
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(50.dp)
) {
for(hero in heroes){
item(hero.key){
HeroImageItem(text = hero.key, HeroPainter = painterResource(id = hero.value),modifier = Modifier
.width(350.dp)
.fillMaxSize()
.aspectRatio(3 / 4f)
)
}
}
}
}