شما میتوانید یک برگه پایانی را تا حدی نمایش دهید و سپس به کاربر اجازه دهید آن را به صورت تمام صفحه نمایش دهد یا آن را رد کند.
برای انجام این کار، یک نمونه از SheetState با skipPartiallyExpanded که روی false تنظیم شده است را به ModalBottomSheet خود منتقل کنید.
مثال
این مثال نشان میدهد که چگونه میتوانید از ویژگی sheetState مربوط به ModalBottomSheet برای نمایش جزئی صفحه در ابتدا استفاده کنید:
@Composable fun PartialBottomSheet() { var showBottomSheet by remember { mutableStateOf(false) } val sheetState = rememberModalBottomSheetState( skipPartiallyExpanded = false, ) Column( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally, ) { Button( onClick = { showBottomSheet = true } ) { Text("Display partial bottom sheet") } if (showBottomSheet) { ModalBottomSheet( modifier = Modifier.fillMaxHeight(), sheetState = sheetState, onDismissRequest = { showBottomSheet = false } ) { Text( "Swipe up to open sheet. Swipe down to dismiss.", modifier = Modifier.padding(16.dp) ) } } } }
نکات کلیدی در مورد کد
در این مثال به موارد زیر توجه کنید:
-
showBottomSheetکنترل میکند که آیا برنامه، برگه پایانی را نمایش دهد یا خیر. -
sheetStateنمونهای ازSheetStateاست که در آنskipPartiallyExpandedبا false است. -
ModalBottomSheetیک اصلاحکننده میگیرد که تضمین میکند وقتی کاملاً باز میشود، صفحه را پر کند. -
ModalBottomSheetمقدارsheetStateرا برای پارامترsheetStateخود دریافت میکند.- در نتیجه، وقتی برای اولین بار باز میشود، صفحه فقط بخشی از آن نمایش داده میشود. سپس کاربر میتواند آن را بکشد یا بکشد تا تمام صفحه شود یا آن را ببندد.
- لامبدا
onDismissRequestکنترل میکند که وقتی کاربر سعی میکند برگه پایانی را حذف کند، چه اتفاقی بیفتد. در این حالت، فقط برگه را حذف میکند.
نتایج
وقتی کاربر برای اولین بار دکمه را فشار میدهد، صفحه تا حدی نمایش داده میشود:

اگر کاربر روی برگه به سمت بالا بکشد، صفحه را پر میکند:
