1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| @Composable fun ComposableSample() { Row { IconButton(onClick = { }) { Icon(Icons.Filled.Search, null) }
IconButton(onClick = { }) { Icon(Icons.Filled.ArrowBack, null) }
IconButton(onClick = { }) { Icon(Icons.Filled.Done, null) } val isSelected = remember { mutableStateOf(false) } IconButtonNoIndication(onClick = { isSelected.value = !isSelected.value }) { Icon( Icons.Filled.Home, null, tint = if (isSelected.value) { Color.Red } else { Color.Gray } ) } } }
@Composable fun IconButtonNoIndication( onClick: () -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, content: @Composable () -> Unit ) { Box( modifier = modifier .clickable( onClick = onClick, enabled = enabled, role = Role.Button, interactionSource = interactionSource, indication = null ) .then(Modifier.size(48.dp)), contentAlignment = Alignment.Center ) { content() } }
|