상호 운용성 API  |  Jetpack Compose  |  Android Developers

Compose에서 뷰 사용  |  Jetpack Compose  |  Android Developers

AndroidView - Jetpack Compose Playground

AndroidView API


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가 없을 경우 일반적으로 사용된다.