ในบางกรณี คุณอาจต้องการใช้ 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 เนื่องจากใช้เพื่อวางเนื้อหาที่กำหนดไว้