همه مؤلفههای Jetpack Compose Glimmer برای کار با روشهای ورودی استاندارد، مانند تکضرب زدن یا تند کشیدن روی صفحه لمسی عینک، طراحی شدهاند و درعینحال پذیرای فرمانهای ورودی سطح پایینتر که مختص سختافزار عینکهای نمایشگردار هستند نیز میباشند. مؤلفههای Jetpack Compose Glimmer بهطور خودکار رویدادهای ورودی لازم را مدیریت میکنند.
برای کنشهای استاندارد مانند پیمایش و کشیدن، از مؤلفههای Jetpack Compose Glimmer
استفاده کنید تا تجربه یکسانی را ترویج دهید. بااینحال، برای مؤلفههای سفارشی یا
رفتارهای تعاملی سفارشی، میتوانید از Compose API موجود مانند
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 حالتهای تمرکز پیشفرض را در سراسر مؤلفههای تعاملی خود، ازجمله سطوح، کارتها، و موارد فهرست، پیادهسازی میکند و بازخورد دیداری واضح و ثابتی را درطول تعامل کاربر ترویج میدهد.
پیشفرض: رنگ پسزمینه دکمه از
GlimmerTheme.colors.surfaceمشتق میشود، محتوای اصلی آن رنگ محتوای آن سطح را محاسبه میکند.متمرکز: عرض حاشیه برای نشان دادن تمرکز افزایش مییابد.
متمرکزشده + فشردهشده: پسزمینه روی
GlimmerTheme.colors.surfaceبا کدر بودن بیشتر تنظیم شده است تا وضعیت انتخابشده آن را نشان دهد.