Interoperabilitas Glance

Dalam beberapa kasus, Anda mungkin ingin menggunakan XML dan RemoteViews untuk menyediakan tampilan. Mungkin Anda telah menerapkan fitur tanpa Glance, atau fitur tersebut belum tersedia atau memungkinkan dengan Glance API saat ini. Untuk situasi ini, Glance menyediakan AndroidRemoteViews, sebuah 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 Anda lakukan tanpa Glance, lalu 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" diteruskan dengan ID yang ditentukan. Penampung ini harus berupa ViewGroup, karena digunakan untuk menempatkan konten yang ditentukan.