فوکوس در Jetpack Compose Glimmer

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

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

برای اقدامات استاندارد مانند اسکرول و کشیدن، از کامپوننت‌های Jetpack Compose Glimmer برای ایجاد یک تجربه سازگار استفاده کنید. با این حال، برای کامپوننت‌های سفارشی یا رفتارهای تعاملی سفارشی، می‌توانید از APIهای Compose موجود مانند Modifier.draggable یا Modifier.scrollable استفاده کنید.

ورودی اشاره‌گر و فوکوس

در عینک‌های نمایشگر، ورودی اشاره‌گر می‌تواند بر فوکوس تأثیر بگذارد:

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

تمرکز بر حرکت و ترتیب تغییرات هنگام پیمایش کاربر در اپلیکیشن شما.

حرکت تمرکزی

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

ترتیب فوکوس

درست مانند Jetpack Compose، Jetpack Compose Glimmer از جستجوی فوکوس یک بعدی استفاده می‌کند. برای کسب اطلاعات بیشتر در مورد ترتیب پیمایش فوکوس، به تغییر ترتیب پیمایش فوکوس مراجعه کنید.

برای تغییر آیتمی که در ابتدا مورد تمرکز قرار گرفته است، می‌توانید یک Modifier.focusGroup() سطح بالا اضافه کنید و یک onEnter focusProperty سفارشی مشخص کنید:

Modifier.focusProperties {
    onEnter = {
        initialFocus.requestFocus()
        // Prevent focus from exiting the group
        cancelFocusChange()
    }
}
.focusGroup()

ظروف پیمایشی

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

حالت‌های پیش‌فرض فوکوس

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

شکل ۱. سه حالت فوکوس در Jetpack Compose Glimmer، که با استفاده از بازخورد بصری مبتنی بر طرح کلی از هم متمایز می‌شوند.
  • پیش‌فرض : رنگ پس‌زمینه دکمه از GlimmerTheme.colors.surface گرفته شده است، محتوای اصلی آن، رنگ محتوای آن سطح را محاسبه می‌کند.

  • متمرکز : عرض حاشیه برای ایجاد تمرکز افزایش می‌یابد.

  • متمرکز + فشرده : پس‌زمینه با افزایش شفافیت روی GlimmerTheme.colors.surface تنظیم می‌شود تا حالت انتخاب‌شده‌اش را نشان دهد.