컴포저블에서의 Slot API는 사용자 임의의 레이아웃을 넣을수 있는 컴포져블의 빈 공간이다.
Slot API 를 사용하는 가장 대표적인 예시는 Scaffold 이다.
Scaffold(
topBar = { 임의 빈공간(slot) },
bottomBar = { 사용자 정의 컴포져블을 넣을수 있다. }
) {
Text(modifier = Modifier.padding(it), text = "")
}
컴포져블에 임의이 빈공간(Slot) 을 추가할 때는 컴포저블을 파라미터로 받을 수 있도록 지정해야 한다.
@Composable () → Unit
을 사용하여 임의의 빈공간에 컴포져블을 배치할수 있도록 파라미터로 받는다.@Composable
fun MySlot(
topContent: @Composable () -> Unit,
middleContent: @Composable () -> Unit,
bottomContent: @Composable () -> Unit) {
Column {
topContent()
middleContent()
bottomContent()
}
}
MySlot 컴포넌트를 사용할때는 다음과 같이 사용할 수 있다.