Interoperabilität auf einen Blick

In einigen Fällen empfiehlt es sich, eine Ansicht mit XML und RemoteViews bereitzustellen. Möglicherweise hast du bereits eine Funktion ohne Glance implementiert oder die Funktion ist mit der aktuellen Glance API noch nicht verfügbar oder möglich. In diesen Fällen bietet Glance AndroidRemoteViews, eine Interoperabilitäts-API.

Mit der zusammensetzbaren Funktion AndroidRemoteViews kann RemoteViews zusammen mit Ihren anderen zusammensetzbaren Funktionen platziert werden:

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

Erstellen und definieren Sie RemoteViews wie ohne „Glance“ und übergeben Sie es einfach als Parameter.

Zusätzlich können Sie RemoteViews-Container für Ihre zusammensetzbaren Funktionen erstellen:

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...")
    }
}

In diesem Fall wird ein Layout, das den „Container“ enthält, mit der definierten ID übergeben. Dieser Container muss ein ViewGroup sein, da er zum Platzieren des definierten Inhalts verwendet wird.