[Android Compose] Slot API란?

컴포져블의 Slot 이란


컴포저블에서의 Slot API는 사용자 임의의 레이아웃을 넣을수 있는 컴포져블의 빈 공간이다.

Untitled

Slot API 를 사용하는 가장 대표적인 예시는 Scaffold 이다.

Scaffold(
   topBar = { 임의 빈공간(slot) }, 
   bottomBar = { 사용자 정의 컴포져블을 넣을수 있다. }
) {
   Text(modifier = Modifier.padding(it), text = "")
}

Slot 사용방법


컴포져블에 임의이 빈공간(Slot) 을 추가할 때는 컴포저블을 파라미터로 받을 수 있도록 지정해야 한다.

@Composable
fun MySlot(
    topContent: @Composable () -> Unit,
    middleContent: @Composable () -> Unit,
    bottomContent: @Composable () -> Unit) {
    Column {
        topContent()
        middleContent()
        bottomContent()
    }
}

MySlot 컴포넌트를 사용할때는 다음과 같이 사용할 수 있다.