Interoperabilitas Glance

Dalam beberapa kasus, Anda dapat menggunakan XML dan RemoteViews untuk memberikan tampilan. Mungkin Anda telah menerapkan fitur tanpa Glance, atau fitur ini belum tersedia atau belum mungkin dengan Glance API saat ini. Untuk situasi seperti ini, Glance menyediakan AndroidRemoteViews, sebuah API interoperabilitas.

Composable AndroidRemoteViews memungkinkan RemoteViews ditempatkan bersama dengan composable Anda yang lain:

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

Buat dan tentukan RemoteViews seperti yang Anda lakukan tanpa Glance, dan cukup teruskan sebagai parameter.

Selain itu, Anda dapat membuat penampung RemoteViews untuk composable Anda:

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

Dalam hal ini, tata letak yang berisi "penampung" dengan atribut yang ditentukan ke ID. Penampung ini harus berupa ViewGroup, karena digunakan untuk menempatkan konten yang sudah ditentukan.