سطح ۲ — بهینه‌سازی‌شده تطبیقی

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

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

رهنمودها

برنامه‌تان را طوری بسازید که با همه اندازه‌های نمایشگر و وضعیت‌های دستگاه سازگار باشد.

رابط کاربری

شناسه دستورالعمل شناسه‌های آزمایشی شرح
Responsive_adaptive_layouts T-Layout_Flow

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

رابط کاربری برنامه می‌تواند شامل موارد زیر باشد:

  • ریل‌های پیمایش پیشرفته که در اندازه‌های بزرگ‌تر پنجره به پانل‌های پیمایش کامل گسترش می‌یابند
  • طرح‌بندی‌های جدولی که تعداد ستون‌ها را برای تطبیق با تغییرات اندازه پنجره مقیاس‌بندی می‌کنند
  • ستون‌های نوشتار در صفحه‌نمایش‌های بزرگ
  • پانل‌های لبه انتهایی که به‌طور پیش‌فرض در اندازه‌های صفحه‌نمایش رایانه باز هستند و در صفحه‌نمایش‌های کوچک‌تر بسته هستند

چیدمان‌های چندقاب (درصورت لزوم) ایجاد کنید تا از فضای صفحه‌نمایش بزرگ بهره ببرید. چیدمان‌های متعارف را ببینید.

برای برنامه‌های Jetpack Compose، از چیدمان‌های تطبیقی (مانند ListDetailPaneScaffold) برای ساختن میاناهای کاربر چندبخشی استفاده کنید. برای برنامه‌های قدیمی مبتنی بر فعالیت، جاسازی فعالیت با نمایش فعالیت‌ها در کنار یکدیگر، چیدمان‌های چندبخشی را فعال می‌کند.

UI_Secondary_Elements T-Layout_Flow

پنجره‌های مانا، منوهای بافت، و سایر عناصر ثانویه در همه انواع صفحه‌نمایش و وضعیت‌های دستگاه به‌درستی قالب‌بندی شده‌اند، برای مثال:

  • برگ‌های زیرین در صفحه‌نمایش‌های بزرگ تمام‌عرض نیستند. (برای جلوگیری از کشیدگی، حداکثر عرض را اعمال کنید.) چیدمان واکنش‌گرا را در برگه‌های پایین ببینید.
  • دکمه‌ها در صفحه‌نمایش‌های بزرگ تمام‌عرض نیستند. طراحی تطبیقی را در دکمه‌ها ببینید.
  • فیلدها و چارگوش‌های نوشتاری در صفحه‌نمایش‌های بزرگ به‌اندازه کل عرض صفحه کشیده نمی‌شوند. طراحی تطبیقی را در فیلدهای نوشتاری ببینید.
  • منوها یا پنجره‌های مانای کوچک ویرایش کل صفحه‌نمایش را نمی‌پوشانند و تا حد امکان بافت را برای کاربر حفظ می‌کنند. منوها را ببینید.
  • منوهای زمینه‌ای در کنار موردی که کاربر انتخاب کرده است نشان داده می‌شود. موضوع «منوهای زمینه‌ای» را در منوها ببینید.
  • برای ارگونومی بهتر در صفحه‌نمایش‌های بزرگ، ریل‌های پیمایش جایگزین نوارهای پیمایش می‌شوند. ریل پیمایش را ببینید.
  • کشوی پیمایش به ریل پیمایش گسترده به‌روزرسانی شده است. کشوی پیمایش را ببینید.
  • چارگوش‌های گفتگو به جدیدترین مؤلفه Material به‌روزرسانی شده‌اند. کادرهای گفتگو را ببینید.
  • تصاویر با وضوح مناسب نمایش داده می‌شوند و کشیده یا برش داده نشده‌اند.
Touch_Targets T-Touch_Targets هدف‌های لمسی حداقل ۴۸ پیکسل مستقل از تراکم هستند. دستورالعمل‌های اندازه‌های هدف Material Design را ببینید.
Drawable_Focus T-Drawable_Focus حالت متمرکز برای ترسیم‌پذیرهای سفارشی که تعاملی هستند ایجاد می‌شود. ترسیم‌پذیر سفارشی هر عنصر دیداری میانای کاربر است که توسط چارچوب Android ارائه نشده باشد. اگر کاربران بتوانند با یک ترسیم‌پذیر سفارشی تعامل داشته باشند، ترسیم‌پذیر باید زمانی که دستگاه در حالت لمسی نیست، قابل‌تمرکز باشد و نشانگر بصری حالت متمرکز باید آشکار باشد.

صفحه‌کلید، موشواره، و پد لمسی

شناسه دستورالعمل شناسه‌های آزمایشی شرح
Keyboard_Navigation T-Keyboard_Navigation جریان‌های اصلی تکلیف در برنامه از پیمایش صفحه‌کلید، ازجمله پیمایش با کلیدهای Tab و جهت‌نما، پشتیبانی می‌کنند. ساختن برنامه‌هایی با دسترس‌پذیری بیشتر را ببینید.
میان‌برهای صفحه‌کلید T-Keyboard_Shortcuts برنامه از میان‌برهای صفحه‌کلید برای کنش‌های پرکاربرد مانند انتخاب، برش، کپی کردن، جای‌گذاری، واگرد، و ازنو پشتیبانی می‌کند. صفحه‌کلید، موشواره، و پد لمسی را ببینید.
Keyboard_Media_Playback T-Keyboard_Media_Playback از صفحه‌کلید می‌توان برای کنترل بازپخش رسانه استفاده کرد؛ برای مثال، کلید فاصله رسانه را پخش و موقتاً متوقف می‌کند.
Keyboard_Send T-Keyboard_Send کلید Enter صفحه‌کلید عملکرد ارسال را در برنامه‌های ارتباطی انجام می‌دهد.
Keyboard_Exit T-Keyboard_Exit کلید گریز صفحه‌کلید عملکرد خروج را انجام می‌دهد که کنشی را خاتمه می‌دهد یا واگرد می‌کند، برای مثال:
  • کادرهای محاوره‌ای، کادرهای گفتگو، بالاپرها، و منوها را می‌بندد
  • نوشتار جستجو را پاک می‌کند یا تمرکز جستجو را برمی‌دارد
  • تمرکز صفحه‌کلید را لغو می‌کند
  • از ویدیو تمام‌صفحه، PiP، حالت تمام‌صفحه، یا نمایش اسلاید خارج می‌شود
  • کنترل‌های روی صفحه، مثل نوارهای پیشرفت یا منوها را می‌بندد
  • زمان‌سنج‌های «پخش بعدی» / پخش خودکار را لغو می‌کند
  • همه موارد انتخاب‌شده را لغو انتخاب می‌کند
  • تغییر نام/ویرایش را بدون ذخیره کردن لغو می‌کند
  • از ابزارهای برش/تبدیل خارج می‌شود و تغییرات را لغو می‌کند
منوهای_زمینه T-Context_Menus منوهای بافت ازطریق کلیک راست معمولی موشواره و پد لمسی (دکمه ثانویه موشواره یا تک‌ضرب ثانویه) دردسترس هستند.
Content_Zoom T-Content_Zoom محتوای برنامه را می‌توان بااستفاده از چرخ پیمایش موشواره (همراه با فشار دادن کلید Control یا Ctrl) و اشاره‌های نزدیک کردن انگشتان در پد لمسی بزرگ‌نمایی کرد.
Hover_States T-Hover_States عناصر کنش‌پذیر میانای کاربر دارای وضعیت‌های نگه داشتن نشانگر هستند (درصورت لزوم) تا به کاربران موشواره و پد لمسی نشان دهند که عناصر تعاملی هستند.

آزمایش‌ها

برای اطمینان از اینکه برنامه‌تان بهینه‌سازی شده است و به همه پیکربندی‌های نمایش پاسخ می‌دهد، آزمایش‌های زیر را انجام دهید.

رابط کاربری

شناسه آزمایش شناسه‌های دستورالعمل شرح
T-Layout_Flow Responsive_adaptive_layouts,
UI_Secondary_Elements

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

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

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

T-Touch_Targets Touch_Targets بررسی کنید که هدف‌های لمسی اندازه و موقعیت سازگار و قابل‌دسترسی داشته باشند و در همه اندازه‌ها و پیکربندی‌های نمایشگر توسط عناصر دیگر میانای کاربر پنهان یا مبهم نشده باشند. برای اطلاعات درباره دسترس‌پذیری، اسکنر دسترس‌پذیری را ببینید.
T-Drawable_Focus Drawable_Focus در هر صفحه برنامه که حاوی یک عنصر ترسیمی سفارشی تعاملی است، بررسی کنید که عنصر ترسیمی بااستفاده از صفحه‌کلید خارجی، پد کنترل، یا دستگاه دیگری که امکان متمرکز شدن عناصر میانای کاربر را فراهم می‌کند، قابل متمرکز شدن باشد. بررسی کنید که نشانگر دیداری حالت متمرکز نمایان باشد. برای اطلاعات مرتبط، به اسناد Compose focus مراجعه کنید.

صفحه‌کلید، موشواره، و پد لمسی

شناسه آزمایش شناسه‌های دستورالعمل شرح
T-Keyboard_Navigation Keyboard_Navigation بااستفاده از کلیدهای جهش و جهت‌نمای صفحه‌کلید خارجی، در مؤلفه‌های قابل‌تمرکز برنامه پیمایش کنید.
T-Keyboard_Shortcuts Keyboard_Shortcuts از میان‌برهای صفحه‌کلید در صفحه‌کلید خارجی برای انجام کنش‌های انتخاب، برش، کپی، جای‌گذاری، واگرد، و ازنو استفاده کنید.
T-Keyboard_Media_Playback Keyboard_Media_Playback از صفحه‌کلید خارجی برای شروع، توقف، مکث، عقب بردن، و جلو بردن سریع بازپخش رسانه استفاده کنید.
T-Keyboard_Send Keyboard_Send از کلید Enter صفحه‌کلید خارجی برای ارسال یا ثبت داده‌ها استفاده کنید.
T-Keyboard_Exit Keyboard_Exit

از کلید گریز صفحه‌کلید خارجی برای انجام عملکرد خروج استفاده کنید. تأیید کنید که کلید کارهای زیر را انجام می‌دهد (درصورت وجود):

  • کادرهای محاوره‌ای، کادرهای گفتگو، بالاپرها، و منوها را می‌بندد
  • نوشتار جستجو را پاک می‌کند یا تمرکز جستجو را برمی‌دارد
  • تمرکز صفحه‌کلید را لغو می‌کند
  • از ویدیو تمام‌صفحه، PiP، حالت تمام‌صفحه، یا نمایش اسلاید خارج می‌شود
  • کنترل‌های روی صفحه را می‌بندد
  • زمان‌سنج‌های «پخش بعدی» / پخش خودکار را لغو می‌کند
  • همه موارد انتخاب‌شده را لغو انتخاب می‌کند
  • تغییر نام/ویرایش را بدون ذخیره کردن لغو می‌کند
  • از ابزارهای برش/تبدیل خارج می‌شود و تغییرات را لغو می‌کند
T-Context_Menus Context_Menus برای دسترسی به منوِ زمینه‌ای عناصر تعاملی، از دکمه ثانویه موشواره یا قابلیت ضربه ثانویه پد لمسی استفاده کنید.
T-Content_Zoom Content_Zoom برای بزرگ‌نمایی و کوچک‌نمایی محتوا، از چرخ نوردش موشواره (همراه با کلید Control یا Ctrl) و اشاره‌های نیشگون لمسی پد لمسی استفاده کنید.
T-Hover_States Hover_States مکان‌نمای موشواره یا پد لمسی را روی عناصر کنش‌پذیر میانای کاربر نگه دارید تا وضعیت نگه داشتن نشانگر عنصر فعال شود.