3
3
.
.
2
2
.
.
5
5
C
C
o
o
m
m
p
p
o
o
s
s
a
a
b
b
l
l
e
e
a
a
s
s
F
F
u
u
n
n
c
c
t
t
i
i
o
o
n
n
P
P
a
a
r
r
a
a
m
m
e
e
t
t
e
e
r
r
I
I
n
n
f
f
o
o
This tutorial shows how to send Composable as Function's Input Parameter.
declare Function's Input Parameter as Composable myComposable: @Composable() () -> Unit
when calling Function wrap Composable inside Lambda Complex( {Second()} )
MainActivity.kt
package com.example.myapplication
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.foundation.Text
import androidx.compose.foundation.layout.*
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.setContent
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Complex({Second()})
}
}
}
@Composable
fun Complex(composableInput: @Composable() () -> Unit) {
Column(Modifier.fillMaxSize()) {
Text("First")
composableInput()
}
}
@Composable fun Second() { Text("Second") }
Output