Interoperabilitas Glance

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

Composable AndroidRemoteViews memungkinkan RemoteViews ditempatkan bersama dengan composable lainnya:

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 biasa Anda lakukan tanpa Glance, dan cukup teruskan sebagai parameter.

Selain itu, Anda dapat membuat penampung RemoteViews untuk composable:

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" akan diteruskan dengan ID yang ditentukan. Penampung ini harus berupa ViewGroup, karena digunakan untuk menempatkan konten yang ditentukan.