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

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

AndroidRemoteViews Composable ช่วยให้วาง 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...")
    }
}

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