Elemente in einem Lazyverticalgrid animieren

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Elemente in einem Lazyverticalgrid animieren

by Anonymous » 08 Apr 2025, 11:27

Ich habe eine Liste und zeige jede Liste in separaten Elementen in meinem Lazerverticalgrid, da sie unterschiedliche Layouts haben. Die Liste kann zu weniger Elementen gefiltert werden und sollte aus dem Lazyverticalgrid entfernt werden.LazyVerticalGrid(
modifier = modifier
.fillMaxSize(),
contentPadding = PaddingValues(horizontal = 16.dp),
columns = GridCells.Fixed(MAX_NUMBER_OF_COLUMNS),
verticalArrangement = Arrangement.spacedBy(16.dp),
horizontalArrangement = Arrangement.spacedBy(17.dp)
) { something ->
filteredList.forEach {
when (something.section) {
Section.1,
Section.2 -> {
items(items = it.deeds,
span = { GridItemSpan(MAX_NUMBER_OF_COLUMNS) },
key = { it.id }) { item ->
Something12Composable(
item
)
}
}

Section.3 -> {
items(items = it.deeds,
span = { GridItemSpan(MAX_NUMBER_OF_COLUMNS) },
key = { it.id }) { item ->
Something3Composable(
item
)
}
}
}
}
}
}

< /code>
< /li>
Mit Animationsvissibilität: < /p>
LazyVerticalGrid(
modifier = modifier
.fillMaxSize(),
contentPadding = PaddingValues(horizontal = 16.dp),
columns = GridCells.Fixed(MAX_NUMBER_OF_COLUMNS),
verticalArrangement = Arrangement.spacedBy(16.dp),
horizontalArrangement = Arrangement.spacedBy(17.dp)
) { something ->
unfilteredList.forEach {
val isVisible: Boolean = // check if it should be visible
when (something.section) {
Section.1,
Section.2 -> {
items(items = it.deeds,
span = { GridItemSpan(MAX_NUMBER_OF_COLUMNS) },
key = { it.id }) { item ->
AnimatedVisisbility(isVisbile){
Something12Composable(
item
)
}
}
}

Section.3 -> {
items(items = it.deeds,
span = { GridItemSpan(MAX_NUMBER_OF_COLUMNS) },
key = { it.id }) { item ->
AnimatedVisisbility(isVisbile){
Something3Composable(
item
)
}
}
}
}
}
}

< /code>
< /li>
< /ol>
Beide Lösungen arbeiten mit einigen Mängel. Ich möchte Animation haben, wenn Elemente verschwinden oder erscheinen.
Die Lösung Nr. 1 hat keine Animation und ich habe keinen hinzufügen.>

Top