در برخی موارد، ممکن است بخواهید از 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
باشد، زیرا برای قرار دادن محتوای تعریف شده استفاده می شود.