Glance 상호 운용성

때에 따라 XML 및 RemoteViews를 사용하여 뷰를 제공하고 싶을 수 있습니다. Glance 없이 기능을 이미 구현했거나, 아직 기능을 사용할 수 없거나 현재 Glance API로는 기능을 사용할 수 없는 경우일 수 있습니다. 이러한 상황을 위해 Glance는 상호 운용성 API인 AndroidRemoteViews를 제공합니다.

AndroidRemoteViews 컴포저블을 사용하면 RemoteViews를 다른 컴포저블과 함께 배치할 수 있습니다.

val packageName = LocalContext.current.packageName
Column(modifier = GlanceModifier.fillMaxSize()) {
    Text("Isn't that cool?")
    AndroidRemoteViews(RemoteViews(packageName, R.layout.example_layout))
}

Glance 없이 RemoteViews를 만들고 정의하고 매개변수로 전달합니다.

또한 컴포저블의 RemoteViews 컨테이너를 만들 수 있습니다.

AndroidRemoteViews(
    remoteViews = RemoteViews(packageName, R.layout.my_container_view),
    containerViewId = R.id.example_view
) {
    Column(modifier = GlanceModifier.fillMaxSize()) {
        Text("My title")
        Text("Maybe a long content...")
    }
}

이 경우 '컨테이너'가 포함된 레이아웃이 정의된 ID와 함께 전달됩니다. 이 컨테이너는 정의된 콘텐츠를 배치하는 데 사용되므로 ViewGroup이어야 합니다.