W niektórych przypadkach do udostępnienia widoku możesz użyć kodu XML i RemoteViews.
Być może masz już wdrożoną funkcję bez Glance lub funkcja nie jest jeszcze dostępna albo możliwa do zrealizowania przy użyciu obecnego interfejsu Glance API. W takich sytuacjach Glance udostępnia AndroidRemoteViews, czyli interfejs API interoperacyjności.
Funkcja kompozycyjna AndroidRemoteViews umożliwia umieszczenie RemoteViews razem z innymi funkcjami kompozycyjnymi:
val packageName = LocalContext.current.packageName Column(modifier = GlanceModifier.fillMaxSize()) { Text("Isn't that cool?") AndroidRemoteViews(RemoteViews(packageName, R.layout.example_layout)) }
Utwórz i zdefiniuj RemoteViews tak, jakby nie było funkcji Glance, i przekaż go jako parametr.
Możesz też utworzyć kontenery RemoteViews dla funkcji kompozycyjnych:
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...") } }
W tym przypadku układ zawierający „kontener” jest przekazywany ze zdefiniowanym identyfikatorem. Ten kontener musi być elementem ViewGroup, ponieważ służy do umieszczania zdefiniowanej treści.