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