สรุปความสามารถในการทำงานร่วมกัน

ในบางกรณี คุณอาจต้องการใช้ XML และ RemoteViews เพื่อแสดงมุมมอง คุณอาจติดตั้งใช้งานฟีเจอร์โดยไม่มี Glance แล้ว หรือฟีเจอร์นั้นยังไม่พร้อมใช้งานหรือเป็นไปไม่ได้ด้วย Glance API ปัจจุบัน ในสถานการณ์เหล่านี้ Glance มี AndroidRemoteViews ซึ่งเป็น API ความสามารถในการทำงานร่วมกัน

Composable AndroidRemoteViews ช่วยให้วาง RemoteViews ร่วมกับ Composable อื่นๆ ได้

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

สร้างและกำหนด RemoteViews เช่นเดียวกับที่คุณทำโดยไม่มี Glance และส่งเป็นพารามิเตอร์

นอกจากนี้ คุณยังสร้างคอนเทนเนอร์ RemoteViews รายการสำหรับ 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...")
    }
}

ในกรณีนี้ ระบบจะส่งเลย์เอาต์ที่มี "คอนเทนเนอร์" พร้อมรหัสที่กำหนด คอนเทนเนอร์นี้ต้องเป็น ViewGroup เนื่องจากใช้เพื่อวางเนื้อหาที่กำหนดไว้