Ich muss in Button mit Jetpack Compose einen Rand mit abgerundeten Ecken hinzufügen
Mögen :
Sanjayrajsinh
Gabriele Marotti
Um eine Schaltfläche mit einem Rand mit abgerundeten Ecken zu erhalten, können Sie die verwenden OutlinedButton
Komponente Anwendung in der shape
Parameter a RoundedCornerShape
:
OutlinedButton(
onClick = { },
border = BorderStroke(1.dp, Color.Red),
shape = RoundedCornerShape(50), // = 50% percent
// or shape = CircleShape
colors = ButtonDefaults.outlinedButtonColors(contentColor = Color.Red)
){
Text( text = "Save" )
}
Danke, Sir, aber ich möchte eine benutzerdefinierte Benutzeroberfläche mit abgerundetem Rand
– Sanjayrajsinh
15. November 2019 um 11:13 Uhr
@Sanjayrajsinh der OutlinedButtonStyle
hat standardmäßig abgerundete Ecken. Sie können den Wert in jedem Fall mit überschreiben shape = RoundedCornerShape(x.dp)
– Gabriele Mariotti
15. November 2019 um 11:15 Uhr
@Sanjayrajsinh oder Verwendung eines Prozentwerts mit shape = RoundedCornerShape(50)
. Ich habe gerade die Antwort aktualisiert.
– Gabriele Mariotti
15. November 2019 um 11:18 Uhr
@GabrieleMariotti Ich sehe keinen Unterschied zwischen Button() und OutlinedButton(). Wenn ich den gleichen Code mit Button() verwende, wird es das gleiche Ergebnis geben. Darf ich wissen, was der Unterschied ist?
– Ranjithkumar
16. August 2021 um 11:16 Uhr
@RanjithKumar Das OutlinedButton
ist ein Button
mit einem outlinedBorder
und benutzerdefinierte Farben wie backgroundColor= MaterialTheme.colors.surface
und contentColor = MaterialTheme.colors.primary
– Gabriele Mariotti
16. August 2021 um 11:54 Uhr
Verwenden Sie einfach den Modifikator als:
modifier = Modifier.border( width = 2.dp,
color = Color.Red,
shape = RoundedCornerShape(5.dp))
verwenden Klipp Modifikator, außerdem können Sie auch eine bestimmte Ecke zum Krümmen auswählen
modifier = Modifier.clip(RoundedCornerShape(15.dp, 15.dp, 0.dp, 0.dp))
Richard OnslowRoper
Verwenden Sie die clip
Modifikator.
Modifier.clip(CircleShape)
Dies ist die Schaltfläche, die Sie in diesem Bild haben:
Button(
onClick = {},
shape = RoundedCornerShape(23.dp),
border = BorderStroke(3.dp, Color.Red),
colors = ButtonDefaults.buttonColors(contentColor = Color.Red, backgroundColor = Color.White)
) {
Text(
text = "Save",
fontSize = 17.sp,
modifier = Modifier.padding(horizontal = 30.dp, vertical = 6.dp)
)
}
shape = RoundedCornerShape(23.dp) machen Sie den Trick in Material 3!
– Daniel Ceglia
20. September 2022 um 8:35 Uhr
deas maha putra
Versuche dies
Box(
modifier = Modifier
.fillMaxWidth()
.height(40.dp)
.padding(4.dp)
.clip(RoundedCornerShape(8.dp))
.background(Color.White)
.border(
1.dp,
Color.RED,
shape = RoundedCornerShape(8.dp),
)
) {
Text(
modifier = Modifier.align(Alignment.Center),
text = "Save",
color = Color.RED,
style = MaterialTheme.typography.h6
)
}
shape = RoundedCornerShape(23.dp) machen Sie den Trick in Material 3!
– Daniel Ceglia
20. September 2022 um 8:35 Uhr