Package-level declarations

공개 API: Modifier.systemBars, SystemBarsHost, SystemBarsDialog, BarContent, SystemBarsConfig, ScrimModel. Public API of the module.

Types

Link copied to clipboard
sealed interface BarContent

시스템 바(상태바 / 내비게이션바)의 아이콘 명암을 무엇으로 정할지 나타냅니다. Describes how a system bar (status or navigation) decides its icon appearance.

Link copied to clipboard
sealed interface BarPaint

시스템 바 영역을 노드가 직접 칠할지, 무엇으로 칠할지 나타냅니다. 기본은 None (칠하지 않음, 투명). Whether the node paints the system bar area itself, and with what. The default is None (transparent).

Link copied to clipboard
class ScrimModel(val lightScrim: Color, val darkScrim: Color)

3버튼 내비게이션 뒤에 시스템이 깔아 주는 반투명 스크림의 근사값입니다. 실제 값은 플랫폼 내부 값이라 기기에 따라 다르면 직접 지정하세요.

Link copied to clipboard
data class SystemBarsConfig(val intervalMillis: Long = 300, val lowThreshold: Float = 0.45f, val highThreshold: Float = 0.55f, val contrastEnforced: Boolean = true, val scrimModel: ScrimModel? = ScrimModel.AndroidxDefault)

SystemBarsHost 의 동작을 조정합니다. Tuning for SystemBarsHost.

Functions

Link copied to clipboard
fun Modifier.systemBars(status: BarContent = BarContent.Auto, navigation: BarContent = BarContent.Auto, statusPaint: BarPaint = BarPaint.None, navigationPaint: BarPaint = BarPaint.None): Modifier

이 콘텐츠가 화면에 있는 동안 시스템 바가 어떻게 보일지 선언합니다. 위쪽에 SystemBarsHost 가 있어야 하며, 없으면 아무 일도 하지 않습니다(디버그 로그만 남깁니다).

Link copied to clipboard
fun SystemBarsDialog(onDismissRequest: () -> Unit, properties: DialogProperties = DialogProperties(), config: SystemBarsConfig = SystemBarsConfig(), content: @Composable () -> Unit)

자체 SystemBarsHost 를 가진 Dialog 입니다. 다이얼로그는 별도 윈도우라서 Activity 의 레지스트리를 보지 못합니다. 바 뒤까지 그리려면 properties 에 decorFitsSystemWindows = false 를 넘기세요.

Link copied to clipboard
fun SystemBarsHost(config: SystemBarsConfig = SystemBarsConfig(), content: @Composable () -> Unit)

한 윈도우의 시스템 바 레지스트리 루트입니다. setContent 바로 아래에 한 번만 두세요. Activity 에서 enableEdgeToEdge() 를 먼저 호출해야 하며(이 라이브러리는 호출하지 않습니다), 이후 화면에서 systemBars 를 사용합니다. Dialog 는 별도 윈도우이므로 SystemBarsDialog 를 쓰세요.