So richten Sie zusammensetzbare Text- und IconButton-Elemente in einem Raster ausAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 So richten Sie zusammensetzbare Text- und IconButton-Elemente in einem Raster aus

Post by Anonymous »

Mit Jetpack Compose auf Android versuche ich, viele IconButtons in einem Raster mit Textüberschriften in den Spalten und Zeilen anzuordnen. Ich verwende Modifier.weight. Wie Sie in diesem Beispiel sehen können, sind die Text- und Switch-Komponenten ausgerichtet, aber der IconButton scheint sich auf der rechten Seite zu befinden. Gibt es einen Grund, warum der Gewichtsmodifikator mit IconButton nicht funktioniert? Gibt es eine bessere Möglichkeit, dies zu tun?
Ergebnis:
Image

und hier ist mein Code:

Code: Select all

var x by mutableStateOf(false)
@Composable
fun SimpleCommandDialog() {
Dialog(onDismissRequest = {  }
) {
Surface(color = Color.White,
modifier = Modifier
.fillMaxWidth(0.9f) // Sets width to 90% of screen width
// or Modifier.width(300.dp) for a fixed 300dp width
.padding(16.dp) // Adds padding around the surface
) {
Box(contentAlignment = Alignment.Center) {
val w1=.2f

Column() {
Row(
modifier = Modifier.fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically
) {
Text(text = "node", Modifier.weight(w1), textAlign= TextAlign.Center)
Text(text = "Auto", Modifier.weight(w1), textAlign= TextAlign.Center)
Text(text = "Hold", Modifier.weight(w1), textAlign= TextAlign.Center)
}

Row(
modifier = Modifier.fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically
) {
Text(text = "node", Modifier.weight(w1), textAlign= TextAlign.Center)
IconButton(onClick = { x=!x }) {
Icon(
imageVector = Icons.Filled.Adjust,
contentDescription = "menu",
modifier = Modifier.weight(w1)
)
}
IconButton(onClick = { x=!x }) {
Icon(
imageVector = Icons.Filled.Adjust,
contentDescription = "menu",
modifier = Modifier.weight(w1)
)
}
}

Row(
modifier = Modifier.fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically
) {
Text(text = "node", Modifier.weight(w1), textAlign= TextAlign.Center)
Switch(
checked = x,
onCheckedChange = { x=!x },
Modifier.weight(w1)
)
Switch(
checked = x,
onCheckedChange = { x=!x },
Modifier.weight(w1)
)
}
}
}
}
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post