Wie fange ich an, Elemente für das Zentrum in Lazyverticalgrid zu füllen?

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: Wie fange ich an, Elemente für das Zentrum in Lazyverticalgrid zu füllen?

by Anonymous » 12 Apr 2025, 05:24

Ich versuche, ein faultes Netz in Jetpack zu implementieren, damit die Elemente horizontal und vertikal ausgerichtet sind. Unten ist mein Code < /p>

Code: Select all

@Preview(showBackground = true, widthDp = 320, heightDp = 320)
@Composable
private fun ModuleGrid() {
val modules = ModuleRegistry.getModulesList().toMutableList()
Box(
contentAlignment = Alignment.Center) {
LazyVerticalGrid(
modifier = Modifier.fillMaxHeight().widthIn(120.dp),
columns = GridCells.Adaptive(minSize = 96.dp),
horizontalArrangement = Arrangement.Center,
verticalArrangement = Arrangement.Center
) {

items(modules,
key = { it.namedTag }
) {
Card(
colors = CardDefaults.cardColors(
containerColor = Color.Transparent
),
modifier = Modifier
.size(120.dp)
.background(Color.Transparent)
.clickable {
launchModule(it)
}
) {
Column(
modifier = Modifier.fillMaxSize(),
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally
) {
it.displayIcon?.let { icon ->
Image(
painter = painterResource(id = icon),
contentDescription = it.displayName,
contentScale = ContentScale.Fit,
modifier = Modifier
.size(96.dp)
.padding(4.dp)
.align(Alignment.CenterHorizontally)
)
}
Text(text = it.displayName, modifier = Modifier
.align(Alignment.CenterHorizontally))
}
}
}
}
}
}
Das Ausgabeergebnis ist Screenshot
Dieses Element sollte in der Mitte des Bildschirms angezeigt werden. src = "https://i.static.net/dc3ed.png"/>
Ich habe versucht, das horizontale Raster zu verwenden, aber schließlich ein ähnliches Ergebnis erhalten.

Top