Interoperabilität auf einen Blick

In einigen Fällen möchten Sie möglicherweise XML und RemoteViews verwenden, um eine Ansicht bereitzustellen. Vielleicht haben Sie bereits ein Feature ohne Glance implementiert oder das Feature ist mit der aktuellen Glance API noch nicht verfügbar oder möglich. Für diese Situationen bietet Glance AndroidRemoteViews, eine Interoperabilitäts-API.

Mit der zusammensetzbaren Funktion AndroidRemoteViews können RemoteViews zusammen mit 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 die RemoteViews wie ohne Glance und übergeben Sie sie als Parameter.

Außerdem 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 mit dem Container mit der definierten ID übergeben. Dieser Container muss ein ViewGroup sein, da er zum Platzieren des definierten Inhalts verwendet wird.