상호 운용성 API | Jetpack Compose | Android Developers
Compose에서 뷰 사용 | Jetpack Compose | Android Developers
AndroidView - Jetpack Compose Playground
AnndroidView 컴포즈를 사용하면, 외부 View에 접근하여 Compose에서 렌더링 할수 있다.
@Composable
@UiComposable
fun <T : View> AndroidView(
factory: (Context) -> T,
modifier: Modifier = Modifier,
update: (T) -> Unit = NoOpUpdate
): Unit
@Composable
@UiComposable
fun <T : View> AndroidView(
factory: (Context) -> T,
modifier: Modifier = Modifier,
onReset: ((T) -> Unit)? = null,
onRelease: (T) -> Unit = NoOpUpdate,
update: (T) -> Unit = NoOpUpdate
): Unit
factory 로 부터 얻은 Android View 를 렌더링 한다.
factory: 구성되는 View 를 얻기위해서 정확히 한 번 호출되며, UI스레드에서 호출이 보장된다.
update: 리컴포즈로 인해 여러 번(또한 UI 스레드에서) 실행 될 수 있으며, View의 새 속성을 설정하는 블럭이다. factory 블럭이 완료된 직후에도 블록이 한번 실행될 수 있으므로 유의해야 한다.
AndroidView 는 Compose 에서 재구현하기 어려운 View를 사용하거나, 대응하는 Compose API가 없을 경우 일반적으로 사용된다.