Как создать круглую кнопку с контуром с помощью Jetpack Compose
Я пытаюсь создать циркуляр
OutlinedButton
со значком в центре без текста.
OutlinedButton(onClick = { /*TODO*/ },
shape = CircleShape,
border= BorderStroke(1.dp, Color.Blue)
) {
Icon(Icons.Default.Add, contentDescription = "content description")
}
Последняя кнопка имеет овальную форму:
Используя
IconButton
:
IconButton(onClick = { },
modifier = Modifier
.clip(CircleShape)
.border(1.dp, Color.Red)
) {
Icon(Icons.Default.Add, contentDescription = "content description",tint = Color.Red)
}
Это конечный результат:
1 ответ
С
1.0.0-beta02
вы можете использовать
OutlinedButton
.
Что-то вроде:
OutlinedButton(onClick = { /*TODO*/ },
modifier= Modifier.size(50.dp), //avoid the oval shape
shape = CircleShape,
border= BorderStroke(1.dp, Color.Blue),
contentPadding = PaddingValues(0.dp), //avoid the little icon
colors = ButtonDefaults.outlinedButtonColors(contentColor = Color.Blue)
) {
Icon(Icons.Default.Add, contentDescription = "content description")
}
или
IconButton
удаление
clip
модификатор и используя
shape
внутри
border
параметр:
IconButton(onClick = { },
modifier = Modifier
.then(Modifier.size(50.dp))
.border(1.dp, Color.Red, shape = CircleShape)
) {
Icon(Icons.Default.Add, contentDescription = "content description", tint = Color.Red)
}