پشته‌های عمودی در Jetpack Compose Glimmer

دستگاه‌های XR قابل اجرا
این راهنما به شما کمک می‌کند تا برای این نوع دستگاه‌های XR تجربه ایجاد کنید.
عینک نمایش

در Jetpack Compose Glimmer، VerticalStack یک طرح‌بندی تنبل و عمودی قابل اسکرول است که آیتم‌ها را در یک توالی سه‌بعدی با همپوشانی بصری مرتب می‌کند. آیتم اصلی به طور برجسته در پیش‌زمینه نمایش داده می‌شود، در حالی که آیتم‌های بعدی در پشت آن قرار می‌گیرند.

شکل ۱. نمونه‌ای از سبک‌های مختلف پشته‌ها در Jetpack Compose Glimmer.

رفتارهای پیمایش و موقعیت‌یابی

از آنجا که پشته‌ها آیتم‌ها را در یک طرح فشرده و همپوشانی مرتب نگه می‌دارند، رفتارهایی دارند که با سایر انواع اجزای ترتیبی مانند لیست‌ها متفاوت است:

  • وقتی کاربر به صورت عمودی اسکرول می‌کند، آیتم فعال پیش‌زمینه از دید خارج می‌شود و به آیتمی که بلافاصله زیر آن قرار دارد اجازه می‌دهد تا به موقعیت برجسته پیش‌زمینه منتقل شود.
  • آیتم‌ها همیشه پس از پایان حرکت کاربر، با استفاده از یک انیمیشن فنری مخصوص، به موقعیت پیش‌زمینه منتقل می‌شوند.
  • آیتم‌ها در امتداد محور z قرار می‌گیرند و آیتم‌های بعدی در لیست، پشت آیتم اصلی قرار می‌گیرند.

مدیریت تمرکز

VerticalStack از یک سیستم فوکوس تخصصی استفاده می‌کند تا اطمینان حاصل کند که آیتم پیش‌زمینه فعلی همیشه هدف اصلی تعامل کاربر است:

  • تمرکز اولیه و ورود مجدد : تمرکز اولیه و ورود مجدد تمرکز به بالاترین آیتم فعلی پشته می‌رود.
  • اعلان فوکوس خودکار : همزمان با انتقال آیتم‌ها، پشته درخواست فوکوس روی آیتم بالایی را می‌دهد.
  • ردیابی فوکوس : هر آیتم onFocusChanged برای اطلاع‌رسانی وضعیت فوکوس خود به StackState استفاده می‌کند.

مثال: ایجاد یک پشته عمودی

کد زیر یک پشته عمودی با چند آیتم کارت ایجاد می‌کند:

@Composable
fun VerticalStackSample() {
    VerticalStack {
        item {
            Card { Text("Top Card") }
        }
        item {
            Card { Text("Second Card") }
        }
        item {
            Card { Text("Third Card") }
        }
    }
}