W niektórych przypadkach, aby wyświetlić widok, możesz użyć plików XML i RemoteViews
.
Być może masz już zaimplementowaną funkcję bez Glance albo nie jest ona jeszcze dostępna ani możliwa w obecnym interfejsie Glance API. W takich sytuacjach Glance udostępnia interfejs API interoperacyjności AndroidRemoteViews
.
Element kompozycyjny AndroidRemoteViews
pozwala na umieszczanie elementów RemoteViews
razem z innymi elementami 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
w taki sam sposób jak bez funkcji Glance, a potem przekaż go jako parametr.
Dodatkowo możesz utworzyć kontenery RemoteViews
dla elementów 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 takim przypadku układ, który zawiera „kontener”, jest przekazywany ze zdefiniowanym identyfikatorem. Musi to być kontener ViewGroup
, ponieważ służy do umieszczania zdefiniowanej treści.