قابلیت همکاری را نگاه کنید

در برخی موارد، ممکن است بخواهید از XML و RemoteViews برای ارائه یک view استفاده کنید. شاید قبلاً یک ویژگی را بدون Glance پیاده‌سازی کرده‌اید، یا این ویژگی هنوز با API فعلی Glance در دسترس نیست یا امکان‌پذیر نیست. برای این شرایط، Glance، AndroidRemoteViews را ارائه می‌دهد که یک API تعامل‌پذیری است.

کامپوننت 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...")
    }
}

در این حالت، یک layout که شامل "container" است با شناسه تعریف شده ارسال می‌شود. این container باید یک ViewGroup باشد، زیرا برای قرار دادن محتوای تعریف شده استفاده می‌شود.

،

در برخی موارد، ممکن است بخواهید از XML و RemoteViews برای ارائه یک view استفاده کنید. شاید قبلاً یک ویژگی را بدون Glance پیاده‌سازی کرده‌اید، یا این ویژگی هنوز با API فعلی Glance در دسترس نیست یا امکان‌پذیر نیست. برای این شرایط، Glance، AndroidRemoteViews را ارائه می‌دهد که یک API تعامل‌پذیری است.

کامپوننت 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...")
    }
}

در این حالت، یک layout که شامل "container" است با شناسه تعریف شده ارسال می‌شود. این container باید یک ViewGroup باشد، زیرا برای قرار دادن محتوای تعریف شده استفاده می‌شود.

،

در برخی موارد، ممکن است بخواهید از XML و RemoteViews برای ارائه یک view استفاده کنید. شاید قبلاً یک ویژگی را بدون Glance پیاده‌سازی کرده‌اید، یا این ویژگی هنوز با API فعلی Glance در دسترس نیست یا امکان‌پذیر نیست. برای این شرایط، Glance، AndroidRemoteViews را ارائه می‌دهد که یک API تعامل‌پذیری است.

کامپوننت 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...")
    }
}

در این حالت، یک layout که شامل "container" است با شناسه تعریف شده ارسال می‌شود. این container باید یک ViewGroup باشد، زیرا برای قرار دادن محتوای تعریف شده استفاده می‌شود.