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

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

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

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

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

นอกจากนี้ คุณยังสร้างคอนเทนเนอร์ RemoteViews สำหรับคอมโพสได้ได้ด้วย

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 เนื่องจากใช้เพื่อวาง เนื้อหาที่กำหนด