در برخی موارد، ممکن است بخواهید از XML و RemoteViews برای ارائه نما استفاده کنید. شاید قبلاً یک ویژگی را بدون Glance پیادهسازی کرده باشید، یا این ویژگی هنوز در دسترس نیست یا با API فعلی Glance امکانپذیر نیست. برای این شرایط، Glance AndroidRemoteViews را ارائه میکند، یک API قابلیت همکاری.
قابلیت Composable 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 برای 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 باشد، زیرا برای قرار دادن محتوای تعریف شده استفاده می شود.