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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
| @ExperimentalMaterialApi @Composable fun ComposableSample() { val state = rememberModalBottomSheetState(initialValue = ModalBottomSheetValue.Hidden) val scope = rememberCoroutineScope() ModalBottomSheetLayout( sheetContent = { Column { ListItem( text = { Text(text = "选择分享到哪里吧~") } ) ListItem( text = { Text(text = "github") }, icon = { Surface( shape = CircleShape, color = Color(0xFF181717) ) { Icon( painterResource(id = R.drawable.ic_github), null, Modifier.padding(4.dp), Color.White ) } }, modifier = Modifier.clickable { } ) ListItem( text = { Text(text = "wechat") }, icon = { Surface( shape = CircleShape, color = Color(0xFF181717) ) { Icon( painterResource(id = R.drawable.ic_wechat), null, Modifier.padding(4.dp), Color.White ) } }, modifier = Modifier.clickable { } ) ListItem( text = { Text(text = "twitter") }, icon = { Surface( shape = CircleShape, color = Color(0xFF181717) ) { Icon( painterResource(id = R.drawable.ic_twitter), null, Modifier.padding(4.dp), Color.White ) } }, modifier = Modifier.clickable { } ) } }, sheetState = state ) { Column( Modifier .fillMaxSize() .padding(16.dp), horizontalAlignment = Alignment.CenterHorizontally ) { Button(onClick = { scope.launch { state.show() } }) { Text(text = "分享") } } } BackHandler( enabled = (state.currentValue == ModalBottomSheetValue.HalfExpanded || state.currentValue == ModalBottomSheetValue.Expanded), onBack = { scope.launch { state.hide() } }) }
|