وقتی کاربران با برنامه شما تعامل میکنند، اغلب این کار را با استفاده از مکانیسمهای ورودی غیر لمسی انجام میدهند:
- محیطهای دسکتاپ : کاربران با استفاده از صفحهکلیدهای سختافزاری فیزیکی و ترکپدها، پیمایش کرده و دادهها را وارد میکنند.
- اندروید تیوی : کاربران با استفاده از D-pad در رابط کاربری پیمایش میکنند.
- خودرو : رانندگان و مسافران با استفاده از کنترلکنندههای چرخشی با هم تعامل دارند.
- تبلتها و دستگاههای تاشو : کاربران میتوانند کاورهای کیبورد و لوازم جانبی ورودی خارجی را به آن متصل کنند.
در تمام این سناریوها، برنامه شما باید عنصر تعاملی فعال روی صفحه را ردیابی کند - این حالت فعال، focus نامیده میشود.
عوامل کلیدی برای ناوبری بصری صفحه کلید
برای ارائه یک تجربه کاربری عالی در صفحه نمایشهای بزرگ و دستگاههای غیر لمسی، برنامه خود را با اصول زیر طراحی کنید:
- تمرکز اولیه منطقی : تمرکز اولیه را روی عنصری قرار دهید که کاربران هنگام ورود به صفحه نمایش به احتمال زیاد با آن تعامل دارند.
- ترتیب ناوبری ثابت : پیمایش فوکوس یک بعدی ( Tab ) و دو بعدی (کلیدهای جهت نما یا D-pad) قابل پیشبینی را فراهم کنید.
- تمرکز پایدار : تمرکز را پس از وقفهها، بسته شدن پنجرهها یا تغییرات پیکربندی، به طور یکپارچه بازیابی کنید.
- حالت فوکوس پاک : نشانههای بصری برجسته و قابل فهم (مانند حلقههای فوکوس یا موجها) را نمایش دهید که نشان میدهند کدام عنصر در حال حاضر فوکوس دارد.
- پیمایش بصری : اطمینان حاصل کنید که عنصر مورد نظر و بافت اطراف آن به راحتی در نمای قابل مشاهده پیمایش میشوند.
راهنماهای تمرکز
برای یادگیری نحوه مدیریت و سفارشیسازی فوکوس در Compose، راهنماهای زیر را بررسی کنید:
- اهداف تمرکز : یاد بگیرید که چگونه اجزای تعاملی به اهداف تمرکز تبدیل میشوند و چگونه میتوان ترکیبهای سفارشی را قابل تمرکز کرد.
- ترتیب پیمایش فوکوس : ترتیب ظاهر یک بعدی و پیمایش فضایی دو بعدی و نحوه سفارشیسازی مسیرهای پیمایش را درک کنید.
- تمرکز روی فیلدهای متنی : بیاموزید که فیلدهای متنی تکخطی و چندخطی چگونه کلیدهای Tab و جهتنما را مدیریت میکنند، و تعامل TV IME چگونه کار میکند.
- گروهبندی اهداف تمرکز : کامپوننتها را با
focusGroupگروهبندی کنید و تغییر مسیر ورود یا خروج را رهگیری کنید. - بازیابی فوکوس : فوکوس را به فرزندهای فعال قبلی در کانتینرها بازیابی کنید، اجزای ناوبری را مدیریت کنید و فوکوس را در طول انتقال صفحه نمایش مدیریت کنید.
- مشخص کردن وضعیت فوکوس : از نشانههای بصری و نشانههای سفارشی برای برجسته کردن اجزای فوکوسشده استفاده کنید.
- واکنش به فوکوس : مشاهده تغییرات فوکوس و پرسوجو از ویژگیهای حالت فوکوس با استفاده از
onFocusChanged. - درخواست برنامهریزیشده برای فوکوس : در پاسخ به اقدامات کاربر یا خطاهای اعتبارسنجی، فوکوس را به طور صریح جابجا کنید.
- جابجایی و پاک کردن فوکوس : با استفاده از
FocusManagerفوکوس را به صورت برنامهنویسی شده جلو برده یا پاک کنید. - ثبت و آزادسازی فوکوس : فوکوس را برای زیرتعاملهای modal ثبت کرده و با خیال راحت آن را آزاد کنید.
- تست ناوبری فوکوس : تستهای خودکار Compose را برای تأیید تعاملات صفحهکلید یکبعدی، دوبعدی و فیلد متنی بنویسید.
برای شما توصیه میشود
- توجه: متن لینک زمانی نمایش داده میشود که جاوا اسکریپت غیرفعال باشد.
- اهداف تمرکز
- ترتیب پیمایش فوکوس
- فوکوس در فیلدهای متنی
- اهداف تمرکز گروهی
- ناوبری فوکوس را آزمایش کنید